Merge branch 'master' of https://codeup.aliyun.com/62ce7bca487c500c27f70a79/OPS/WMS-Api
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using WMS.Web.Core;
|
||||
using WMS.Web.Domain.Values;
|
||||
@@ -66,6 +67,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
[Column("SuccessSync")]
|
||||
public bool? SuccessSync { get; set; }
|
||||
/// <summary>
|
||||
/// 同步失败的源订单号
|
||||
/// </summary>
|
||||
[Column("SuccessSyncFail")]
|
||||
public List<string> SuccessSyncFail { get; set; }=new List<string>();
|
||||
/// <summary>
|
||||
/// 同步时间
|
||||
/// </summary>
|
||||
[Column("SyncTime")]
|
||||
@@ -96,8 +102,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// 同步金蝶
|
||||
/// </summary>
|
||||
/// <param name="operateId"></param>
|
||||
public void Sync(bool isSuccess, int operateId,string remark)
|
||||
public void Sync(List<string> sourcBilNos, bool isSuccess, int operateId, string remark)
|
||||
{
|
||||
SuccessSyncFail.AddRange(sourcBilNos);
|
||||
SuccessSyncFail.Distinct();
|
||||
this.SuccessSync = isSuccess;
|
||||
this.Remark = remark;
|
||||
this.OperateId = operateId;
|
||||
|
||||
@@ -25,17 +25,6 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("Fid")]
|
||||
public int Fid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售订单号
|
||||
///</summary>
|
||||
[Column("SaleBillNo")]
|
||||
public List<string> SaleBillNos { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public List<string> SourceBillNos { get; set; }
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
@@ -61,5 +50,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
///</summary>
|
||||
[Column("Qty")]
|
||||
public decimal Qty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对应erp明细 同一个物料 存在于不同的来源单中(合并后出现多条)
|
||||
/// </summary>
|
||||
public List<OutStockErpDetails> ErpDetails { get; set; } = new List<OutStockErpDetails>();
|
||||
}
|
||||
}
|
||||
|
||||
48
src/WMS.Web.Domain/Entitys/OutStockErpDetails.cs
Normal file
48
src/WMS.Web.Domain/Entitys/OutStockErpDetails.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text;
|
||||
using WMS.Web.Core;
|
||||
|
||||
namespace WMS.Web.Domain.Entitys
|
||||
{
|
||||
/// <summary>
|
||||
/// 对应金蝶的明细
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[Table("t_wms_outstock_erp_details")]
|
||||
public class OutStockErpDetails : EntityBase
|
||||
{
|
||||
public OutStockErpDetails() { }
|
||||
/// <summary>
|
||||
/// 主键 订单编号
|
||||
/// </summary>
|
||||
[Column("Id")]
|
||||
public override int Id { get; set; }
|
||||
/// <summary>
|
||||
/// 任务单明细Id
|
||||
/// </summary>
|
||||
[Column("DetailId")]
|
||||
public int DetailId { get; set; }
|
||||
/// <summary>
|
||||
/// 对应金蝶单据明细id(销售出库同步金蝶下推使用)
|
||||
/// </summary>
|
||||
[Column("Erp_DetailId")]
|
||||
public int Erp_DetailId { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public string SourceBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 销售订单号
|
||||
///</summary>
|
||||
[Column("SaleBillNo")]
|
||||
public string SaleBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 出库数量
|
||||
///</summary>
|
||||
[Column("Qty")]
|
||||
public decimal Qty { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -76,22 +76,41 @@ namespace WMS.Web.Domain.Entitys
|
||||
this.CreateTime = createTime;
|
||||
}
|
||||
/// <summary>
|
||||
/// 出库 反写 任务单
|
||||
/// 出库 反写 任务单(返回 这个物料下面的来源单号出了多少数量)
|
||||
/// </summary>
|
||||
/// <param name="materialId"></param>
|
||||
/// <param name="qty"></param>
|
||||
/// <returns></returns>
|
||||
public Result OutStock(int materialId, decimal qty)
|
||||
public Result<List<(string sourceBillNo, decimal qty)>> OutStock(int materialId, decimal qty)
|
||||
{
|
||||
if (this.Status == OutStockStatus.Already)
|
||||
return Result.ReFailure(ResultCodes.OutStockTaskAlready);
|
||||
return Result<List<(string sourceBillNo, decimal qty)>>.ReFailure(ResultCodes.OutStockTaskAlready);
|
||||
if (this.Status == OutStockStatus.Repeal)
|
||||
return Result.ReFailure(ResultCodes.OutStockTaskRepeal);
|
||||
return Result<List<(string sourceBillNo, decimal qty)>>.ReFailure(ResultCodes.OutStockTaskRepeal);
|
||||
|
||||
var detail = this.Details.FirstOrDefault(f => f.MaterialId == materialId);
|
||||
if (detail == null) return Result.ReFailure(ResultCodes.OrderNoData);
|
||||
if (detail == null) return Result<List<(string sourceBillNo, decimal qty)>>.ReFailure(ResultCodes.OrderNoData);
|
||||
if ((detail.AccruedQty - detail.RealityQty) < qty)
|
||||
return Result.ReFailure(ResultCodes.OutStockQtyError);
|
||||
return Result<List<(string sourceBillNo, decimal qty)>>.ReFailure(ResultCodes.OutStockQtyError);
|
||||
List<(string sourceBillNo, decimal qty)> resList = new List<(string sourceBillNo, decimal qty)>();
|
||||
var mQty = qty;
|
||||
foreach (var d in detail.ErpDetails)
|
||||
{
|
||||
if ((d.AccruedQty - d.RealityQty) >= mQty)
|
||||
{
|
||||
d.RealityQty += qty;
|
||||
resList.Add((d.SourceBillNo, mQty));
|
||||
break;//本次出库数量已经分配完毕 调出循环
|
||||
}
|
||||
else
|
||||
{
|
||||
//代表这一个来源单号对应的物料 能全部出掉,并且还有剩余 进行下一个来源单的出货
|
||||
var cQty = d.AccruedQty - d.RealityQty;//本次出货数量
|
||||
mQty -= cQty;
|
||||
d.RealityQty = d.AccruedQty;
|
||||
resList.Add((d.SourceBillNo, cQty));
|
||||
}
|
||||
}
|
||||
|
||||
if (detail.RealityQty <= 0)
|
||||
detail.OutStockBeginTime = DateTime.Now;
|
||||
@@ -106,7 +125,7 @@ namespace WMS.Web.Domain.Entitys
|
||||
else
|
||||
this.Status = OutStockStatus.Part;
|
||||
|
||||
return Result.ReSuccess();
|
||||
return Result<List<(string sourceBillNo, decimal qty)>>.ReSuccess(resList);
|
||||
}
|
||||
/// <summary>
|
||||
/// 生成单据号
|
||||
@@ -168,8 +187,13 @@ namespace WMS.Web.Domain.Entitys
|
||||
if (detail_new != null)
|
||||
{
|
||||
detail_new.AccruedQty += d.AccruedQty;//应出数量累加
|
||||
detail_new.SaleBillNos.AddRange(d.SaleBillNos);
|
||||
detail_new.SourceBillNos.AddRange(d.SourceBillNos);
|
||||
foreach (var erpd in d.ErpDetails)
|
||||
{
|
||||
var cd = erpd.Clone();
|
||||
cd.Id = 0; cd.DetailId = 0;
|
||||
detail_new.ErpDetails.Add(cd);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
details_new.Add(d);
|
||||
|
||||
@@ -28,22 +28,6 @@ namespace WMS.Web.Domain.Entitys
|
||||
[Column("Fid")]
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 对应金蝶单据明细id(销售出库同步金蝶下推使用)
|
||||
/// </summary>
|
||||
[Column("Erp_DetailId")]
|
||||
public int Erp_DetailId { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号(合并后有多个)
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public List<string> SourceBillNos { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售订单号
|
||||
///</summary>
|
||||
[Column("SaleBillNo")]
|
||||
public List<string> SaleBillNos { get; set; }
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
[Column("MaterialId")]
|
||||
@@ -83,7 +67,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
///</summary>
|
||||
[Column("OutStockEndTime")]
|
||||
public DateTime? OutStockEndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对应erp明细 同一个物料 存在于不同的来源单中(合并后出现多条)
|
||||
/// </summary>
|
||||
public List<OutStockTaskErpDetails> ErpDetails { get; set; } = new List<OutStockTaskErpDetails>();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
53
src/WMS.Web.Domain/Entitys/OutStockTaskErpDetails.cs
Normal file
53
src/WMS.Web.Domain/Entitys/OutStockTaskErpDetails.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text;
|
||||
using WMS.Web.Core;
|
||||
|
||||
namespace WMS.Web.Domain.Entitys
|
||||
{
|
||||
/// <summary>
|
||||
/// 对应金蝶的明细
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[Table("t_erp_outstock_task_erp_details")]
|
||||
public class OutStockTaskErpDetails : EntityBase
|
||||
{
|
||||
public OutStockTaskErpDetails() { }
|
||||
/// <summary>
|
||||
/// 主键 订单编号
|
||||
/// </summary>
|
||||
[Column("Id")]
|
||||
public override int Id { get; set; }
|
||||
/// <summary>
|
||||
/// 任务单明细Id
|
||||
/// </summary>
|
||||
[Column("DetailId")]
|
||||
public int DetailId { get; set; }
|
||||
/// <summary>
|
||||
/// 对应金蝶单据明细id(销售出库同步金蝶下推使用)
|
||||
/// </summary>
|
||||
[Column("Erp_DetailId")]
|
||||
public int Erp_DetailId { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public string SourceBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 销售订单号
|
||||
///</summary>
|
||||
[Column("SaleBillNo")]
|
||||
public string SaleBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 应出库数量
|
||||
///</summary>
|
||||
[Column("AccruedQty")]
|
||||
public decimal AccruedQty { get; set; }
|
||||
/// <summary>
|
||||
/// 已出库数量
|
||||
///</summary>
|
||||
[Column("RealityQty")]
|
||||
public decimal RealityQty { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ namespace WMS.Web.Domain.Infrastructure
|
||||
/// 查询实体集合
|
||||
Task<List<OutStockTask>> GetEntityList(List<int> ids);
|
||||
/// <summary>
|
||||
/// 列表-根据明细中的来源单号
|
||||
/// 列表-根据明细中的来源单号精确匹配
|
||||
/// </summary>
|
||||
/// <param name="sourceBillNos"></param>
|
||||
/// <returns></returns>
|
||||
|
||||
@@ -13,20 +13,32 @@ namespace WMS.Web.Domain.Mappers
|
||||
{
|
||||
public OutStockMapper()
|
||||
{
|
||||
CreateMap<OutStockTask, OutStockTask>();
|
||||
CreateMap<OutStockTaskDetails, OutStockTaskDetails>();
|
||||
CreateMap<OutStockTaskErpDetails, OutStockTaskErpDetails>();
|
||||
|
||||
CreateMap<OutStock, OutStock>();
|
||||
CreateMap<OutStockDetails, OutStockDetails>();
|
||||
CreateMap<OutStockErpDetails, OutStockErpDetails>();
|
||||
|
||||
|
||||
CreateMap<SaveOutStockRequest, OutStockDetails>();
|
||||
|
||||
CreateMap<OutStockTaskDetails, OutStockDetails>()
|
||||
.ForMember(x => x.Id, ops => ops.Ignore())
|
||||
.ForMember(x => x.Fid, ops => ops.Ignore())
|
||||
.ForMember(x => x.Qty, ops => ops.Ignore());
|
||||
CreateMap<OutStockTaskErpDetails, OutStockErpDetails>()
|
||||
.ForMember(x => x.Id, ops => ops.Ignore())
|
||||
.ForMember(x => x.DetailId, ops => ops.Ignore())
|
||||
.ForMember(x => x.Qty, ops => ops.Ignore());
|
||||
|
||||
|
||||
CreateMap<OutStockTask, GetOutStockTaskByNoResponse>();
|
||||
CreateMap<OutStockTaskDetails, GetOutStockTaskByNoDetailsResponse>();
|
||||
|
||||
CreateMap<ErpDeliveryNoticeOutStockResultDto, OutStockTaskDetails>()
|
||||
.ForPath(x => x.SourceBillNos, ops => ops.MapFrom(x =>new List<string>() { x.SourceBillNo }))
|
||||
.ForPath(x => x.SaleBillNos, ops => ops.MapFrom(x => new List<string>() { x.SaleBillNo }));
|
||||
CreateMap<ErpDeliveryNoticeOutStockResultDto, OutStockTaskDetails>();
|
||||
CreateMap<ErpDeliveryNoticeOutStockResultDto, OutStockTaskErpDetails>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var sn in ops_box.Details.SelectMany(s => s.SerialNumbers))
|
||||
{
|
||||
var detail = ops_box.Details.FirstOrDefault(f => f.SerialNumbers.Select(s=>s.SerialNumber).Equals(sn.SerialNumber));
|
||||
if (detail == null) continue;
|
||||
var opsSerial = list.FirstOrDefault(f => f.OpsBoxId == b.OpsBoxId).Details
|
||||
.SelectMany(s => s.SerialNumbers)
|
||||
.FirstOrDefault(s => s.SerialNumber.Equals(sn.SerialNumber));
|
||||
|
||||
@@ -54,30 +54,40 @@ namespace WMS.Web.Domain.Services
|
||||
public async Task<Result> Save(SaveOutStockRequest dto, LoginInDto loginInfo)
|
||||
{
|
||||
var outStockTask = await _outStockTaskRepositories.Get(dto.TaskId);
|
||||
if(outStockTask.Status== OutStockStatus.Already)
|
||||
if (outStockTask.Status == OutStockStatus.Already)
|
||||
return Result.ReFailure(ResultCodes.OutStockTaskAlready);
|
||||
if (outStockTask.Status == OutStockStatus.Repeal)
|
||||
return Result.ReFailure(ResultCodes.OutStockTaskRepeal);
|
||||
//上传的物料在任务单里没有找到不能出库
|
||||
var ex = dto.Details.Select(s=>s.MaterialId).Except(outStockTask.Details.Select(s=>s.MaterialId)).ToList();
|
||||
var ex = dto.Details.Select(s => s.MaterialId).Except(outStockTask.Details.Select(s => s.MaterialId)).ToList();
|
||||
if (ex.Count() > 0)
|
||||
return Result.ReFailure(ResultCodes.OutStockMaterialError);
|
||||
|
||||
|
||||
var mIds = dto.Details.GroupBy(g => g.MaterialId).Select(s => s.Key).ToList();
|
||||
OutStock entity = new OutStock();
|
||||
entity.Create(loginInfo.UserInfo.StaffId, outStockTask);
|
||||
foreach (var d in dto.Details)
|
||||
foreach (var mid in mIds)
|
||||
{
|
||||
//任务单明细
|
||||
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialId == d.MaterialId);
|
||||
var tDetail = outStockTask.Details.FirstOrDefault(f => f.MaterialId == mid);
|
||||
var dtoDetails = dto.Details.Where(w => w.MaterialId == mid);
|
||||
var qty = dtoDetails.Sum(s => s.Qty);
|
||||
|
||||
if (tDetail == null) continue;
|
||||
var res = outStockTask.OutStock(d.MaterialId, d.Qty);
|
||||
var res = outStockTask.OutStock(mid, qty);
|
||||
if (!res.IsSuccess) return res;
|
||||
|
||||
var outd = _mapper.Map<OutStockDetails>(tDetail);
|
||||
|
||||
outd.Qty = d.Qty;
|
||||
outd.SerialNumbers = d.SerialNumbers;
|
||||
//循环添加erp同步明细
|
||||
foreach (var c in res.Data)
|
||||
{
|
||||
var tErpDetail = tDetail.ErpDetails.FirstOrDefault(f => f.SourceBillNo.Equals(c.sourceBillNo));
|
||||
var oErpDetail = _mapper.Map<OutStockErpDetails>(tErpDetail);
|
||||
oErpDetail.Qty = c.qty;
|
||||
outd.ErpDetails.Add(oErpDetail);
|
||||
}
|
||||
outd.Qty = qty;
|
||||
outd.SerialNumbers.AddRange(dtoDetails.SelectMany(s => s.SerialNumbers));
|
||||
entity.Details.Add(outd);
|
||||
}
|
||||
|
||||
@@ -114,7 +124,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//下推金蝶
|
||||
var res = await _erpService.Push(new Core.Dto.Erp.ErpPushDto() { });
|
||||
entity.Sync(res.IsSuccess, loginInfo.UserInfo.StaffId, res.Message);
|
||||
entity.Sync(new List<string>(), res.IsSuccess, loginInfo.UserInfo.StaffId, res.Message);
|
||||
}
|
||||
var isSuccess = await _outStockRepositories.EditEntityList(list, true);
|
||||
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||
|
||||
@@ -103,18 +103,41 @@ namespace WMS.Web.Domain.Services
|
||||
if (data_list.Count != 0)
|
||||
{
|
||||
//2.1提取出wms任务单明细信息
|
||||
foreach (var e in erp_list)
|
||||
foreach (var outStockTask in data_list)
|
||||
{
|
||||
//代表单据已经存在 那么就对单据进行修改
|
||||
var data = data_list.FirstOrDefault(f => f.Details.SelectMany(s => s.SourceBillNos).Contains(e.SourceBillNo));
|
||||
var detail = data.Details.FirstOrDefault(w => w.MaterialId == e.MaterialId);
|
||||
//存在就修改,没有就添加
|
||||
if (detail != null)
|
||||
detail.AccruedQty = e.AccruedQty;
|
||||
else
|
||||
data.Details.Add(_mapper.Map<OutStockTaskDetails>(e));
|
||||
var sourcNos = outStockTask.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo).ToList();
|
||||
var erps = erp_list.Where(w => sourcNos.Contains(w.SourceBillNo)).ToList();
|
||||
foreach (var erp in erps)
|
||||
{
|
||||
var detail = outStockTask.Details.FirstOrDefault(w => w.MaterialId == erp.MaterialId);
|
||||
if (detail == null)
|
||||
{
|
||||
//添加一条物料明细
|
||||
detail = _mapper.Map<OutStockTaskDetails>(erp);
|
||||
var erpDetail = _mapper.Map<OutStockTaskErpDetails>(erp);
|
||||
detail.ErpDetails.Add(erpDetail);
|
||||
outStockTask.Details.Add(detail);
|
||||
}
|
||||
else
|
||||
{
|
||||
//找到物料明细下面对应的来源单明细 然后修改
|
||||
var erpDetail = detail.ErpDetails.FirstOrDefault(f => f.SourceBillNo.Equals(erp.SourceBillNo));
|
||||
if (erpDetail == null)
|
||||
{
|
||||
erpDetail = _mapper.Map<OutStockTaskErpDetails>(erp);
|
||||
detail.ErpDetails.Add(erpDetail);
|
||||
outStockTask.Details.Add(detail);
|
||||
}
|
||||
else
|
||||
{
|
||||
erpDetail.AccruedQty = erp.AccruedQty;
|
||||
detail.AccruedQty = detail.ErpDetails.Sum(s => s.AccruedQty);
|
||||
}
|
||||
}
|
||||
//操作完后剔除
|
||||
erp_removeList.Add(erp);
|
||||
}
|
||||
|
||||
erp_removeList.Add(e);
|
||||
}
|
||||
//2.2.提交修改
|
||||
var isSuccess = await _outStockTaskRepositories.EditEntityList(data_list, isTransaction);
|
||||
@@ -139,7 +162,13 @@ namespace WMS.Web.Domain.Services
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
|
||||
//给到dto的实体明细中
|
||||
entity.Details = _mapper.Map<List<OutStockTaskDetails>>(current_erp_details);
|
||||
foreach (var erp in current_erp_details)
|
||||
{
|
||||
var detail = _mapper.Map<OutStockTaskDetails>(erp);
|
||||
var erpDetail = _mapper.Map<OutStockTaskErpDetails>(erp);
|
||||
detail.ErpDetails.Add(erpDetail);
|
||||
entity.Details.Add(detail);
|
||||
}
|
||||
add_entitys.Add(entity);
|
||||
}
|
||||
//3.1提交新增
|
||||
@@ -281,15 +310,15 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var entity in taskList)
|
||||
{
|
||||
if (entity.Type == OutStockType.Sal)
|
||||
DeliveryNotice_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||
DeliveryNotice_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s=>s.SourceBillNo));
|
||||
else if (entity.Type == OutStockType.Stkdirecttransfers)
|
||||
TransferDirect_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||
TransferDirect_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo));
|
||||
else if (entity.Type == OutStockType.StktransferInst)
|
||||
TransferOut_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||
TransferOut_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo));
|
||||
else if (entity.Type == OutStockType.Assembled)
|
||||
AssembledApp_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||
AssembledApp_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo));
|
||||
else if (entity.Type == OutStockType.Miscellaneous)
|
||||
MisDeliveryOut_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||
MisDeliveryOut_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo));
|
||||
}
|
||||
|
||||
if (DeliveryNotice_Nos.Count() > 0)
|
||||
|
||||
@@ -204,14 +204,14 @@ namespace WMS.Web.Domain.Services
|
||||
OperateTime = DateTime.Now,
|
||||
OperateType = OutStockTypeConvert(outStock.Type),
|
||||
OperateUser = userName,
|
||||
Remark = "来源单号:" + string.Join(",", outstockDetail.SourceBillNos) + "\r\n" + "出库单号:" + outStock.BillNo
|
||||
Remark = "来源单号:" + string.Join(",", outstockDetail.ErpDetails.Select(s=>s.SourceBillNo)) + "\r\n" + "出库单号:" + outStock.BillNo
|
||||
};
|
||||
if (outStock.Type == OutStockType.Sal)
|
||||
{
|
||||
var detail = outStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
|
||||
var res_c = await _erpService.BillQueryForCustomer();
|
||||
var customer = res_c.Data.FirstOrDefault(f => f.Id == outStock.ReceiptCustomerId);
|
||||
op.Remark += "\r\n" + "销售订单号:" + string.Join(",", detail.SaleBillNos);
|
||||
op.Remark += "\r\n" + "销售订单号:" + string.Join(",", detail.ErpDetails.Select(s => s.SaleBillNo));
|
||||
op.Remark += "\r\n" + "客户:" + customer?.Name;
|
||||
}
|
||||
sList.Add(op);
|
||||
|
||||
Reference in New Issue
Block a user