Merge branch 'master' of https://codeup.aliyun.com/62ce7bca487c500c27f70a79/OPS/WMS-Api
This commit is contained in:
@@ -47,6 +47,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
[Column("ReceiptCustomerId")]
|
||||
public int ReceiptCustomerId { get; set; }
|
||||
/// <summary>
|
||||
/// 仓库
|
||||
///</summary>
|
||||
[Column("StockCode")]
|
||||
public string StockCode { get; set; }
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
[Column("CreatorId")]
|
||||
|
||||
@@ -35,16 +35,12 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("SerialNumbers")]
|
||||
public List<string> SerialNumbers { get; set; } = new List<string>();
|
||||
/// <summary>
|
||||
/// 仓库
|
||||
///</summary>
|
||||
[Column("StockCode")]
|
||||
public string StockCode { get; set; }
|
||||
/// <summary>
|
||||
/// 仓位
|
||||
///</summary>
|
||||
[Column("SubStockId")]
|
||||
public string SubStockId { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// 仓位
|
||||
/////</summary>
|
||||
//[Column("SubStockId")]
|
||||
//public string SubStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 出库数量
|
||||
///</summary>
|
||||
|
||||
@@ -39,6 +39,11 @@ namespace WMS.Web.Domain.Entitys
|
||||
[Column("ReceiptCustomerId")]
|
||||
public int ReceiptCustomerId { get; set; }
|
||||
/// <summary>
|
||||
/// 仓库ID
|
||||
///</summary>
|
||||
[Column("StockCode")]
|
||||
public string StockCode { get; set; }
|
||||
/// <summary>
|
||||
/// 单据状态
|
||||
/// </summary>
|
||||
[Column("Status")]
|
||||
@@ -67,10 +72,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// 明细
|
||||
/// </summary>
|
||||
public List<OutStockTaskDetails> Details = new List<OutStockTaskDetails>();
|
||||
public void Create(OutStockType type, int deliveryOrgId, int receiptCustomerId, DateTime createTime)
|
||||
public void Create(OutStockType type,string stockCode, int deliveryOrgId, int receiptCustomerId, DateTime createTime)
|
||||
{
|
||||
this.Type = type;
|
||||
//this.SourceBillNos.Add(sourceBillNo);
|
||||
this.StockCode = stockCode;
|
||||
this.DeliveryOrgId = deliveryOrgId;
|
||||
this.ReceiptCustomerId = receiptCustomerId;
|
||||
this.CreateTime = createTime;
|
||||
@@ -175,7 +180,7 @@ namespace WMS.Web.Domain.Entitys
|
||||
if (list.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||
if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||
var details = list.SelectMany(s => s.Details).ToList();
|
||||
if (details.GroupBy(g => g.StockCode).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||
if (list.GroupBy(g => g.StockCode).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
|
||||
List<OutStockTaskDetails> details_new = new List<OutStockTaskDetails>();
|
||||
|
||||
//清空数据绑定
|
||||
|
||||
@@ -32,16 +32,12 @@ namespace WMS.Web.Domain.Entitys
|
||||
///</summary>
|
||||
[Column("MaterialId")]
|
||||
public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// 仓库ID
|
||||
///</summary>
|
||||
[Column("StockCode")]
|
||||
public string StockCode { get; set; }
|
||||
/// <summary>
|
||||
/// 仓位ID
|
||||
///</summary>
|
||||
[Column("SubStockId")]
|
||||
public int SubStockId { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// 仓位ID
|
||||
/////</summary>
|
||||
//[Column("SubStockId")]
|
||||
//public int SubStockId { get; set; }
|
||||
/// <summary>
|
||||
/// 应出库数量
|
||||
///</summary>
|
||||
|
||||
@@ -114,8 +114,8 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
BoxId = boxId,
|
||||
InventoryInOutMethod = dto.Method,
|
||||
StockCode = outStockTask.Details.First().StockCode,
|
||||
SubStockId = outStockTask.Details.First().SubStockId,
|
||||
StockCode = outStockTask.StockCode,
|
||||
SubStockId = 0,// outStockTask.Details.First().SubStockId,
|
||||
Details = inventoryDetail
|
||||
};
|
||||
inventoryList.Add(inventory);
|
||||
|
||||
@@ -106,9 +106,11 @@ namespace WMS.Web.Domain.Services
|
||||
foreach (var outStockTask in data_list)
|
||||
{
|
||||
var sourcNos = outStockTask.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo).ToList();
|
||||
var erps = erp_list.Where(w => sourcNos.Contains(w.SourceBillNo)).ToList();
|
||||
//仓库不同 拆分成不同的任务单
|
||||
var erps = erp_list.Where(w => sourcNos.Contains(w.SourceBillNo) && outStockTask.StockCode.Equals(w.StockCode)).ToList();
|
||||
foreach (var erp in erps)
|
||||
{
|
||||
//仓库不同 拆分成不同的
|
||||
var detail = outStockTask.Details.FirstOrDefault(w => w.MaterialId == erp.MaterialId);
|
||||
if (detail == null)
|
||||
{
|
||||
@@ -120,19 +122,17 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
else
|
||||
{
|
||||
//找到物料明细下面对应的来源单明细 然后修改
|
||||
var erpDetail = detail.ErpDetails.FirstOrDefault(f => f.SourceBillNo.Equals(erp.SourceBillNo));
|
||||
//找到物料明细下面对应的金蝶明细Id 然后修改(跟金蝶明细一一对应)
|
||||
var erpDetail = detail.ErpDetails.FirstOrDefault(f => f.Erp_DetailId == erp.Erp_DetailId);
|
||||
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);
|
||||
}
|
||||
|
||||
detail.AccruedQty = detail.ErpDetails.Sum(s => s.AccruedQty);
|
||||
}
|
||||
//操作完后剔除
|
||||
erp_removeList.Add(erp);
|
||||
@@ -153,21 +153,26 @@ namespace WMS.Web.Domain.Services
|
||||
if (erp_list.Count != 0)
|
||||
{
|
||||
var add_entitys = new List<OutStockTask>();
|
||||
var billNos = erp_list.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList();
|
||||
//根据来源订单号和仓库分组 一个来源订单号和一个仓库 对应一个任务单
|
||||
var billNos = erp_list.GroupBy(x => (x.SourceBillNo, x.StockCode)).Select(x => x.Key).ToList();
|
||||
foreach (var item in billNos)
|
||||
{
|
||||
var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item);
|
||||
var eList = erp_list.Where(f => f.SourceBillNo == item.SourceBillNo && f.StockCode == item.StockCode).ToList();
|
||||
var e = eList.First();
|
||||
var entity = new OutStockTask();
|
||||
entity.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
|
||||
entity.Create((OutStockType)e.Type, e.StockCode, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
|
||||
|
||||
//找到当前对应来源单据编号的集合数据
|
||||
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
|
||||
var mIds = eList.GroupBy(g => g.MaterialId).Select(s => s.Key).ToList();
|
||||
//给到dto的实体明细中
|
||||
foreach (var erp in current_erp_details)
|
||||
foreach (var mid in mIds)
|
||||
{
|
||||
var detail = _mapper.Map<OutStockTaskDetails>(erp);
|
||||
var erpDetail = _mapper.Map<OutStockTaskErpDetails>(erp);
|
||||
detail.ErpDetails.Add(erpDetail);
|
||||
var emList = eList.Where(w => w.MaterialId == mid).ToList();
|
||||
var detail = _mapper.Map<OutStockTaskDetails>(emList.First());
|
||||
var erpDetail = _mapper.Map<List<OutStockTaskErpDetails>>(emList);
|
||||
detail.ErpDetails.AddRange(erpDetail);
|
||||
|
||||
detail.AccruedQty = detail.ErpDetails.Sum(s => s.AccruedQty);
|
||||
entity.Details.Add(detail);
|
||||
}
|
||||
add_entitys.Add(entity);
|
||||
|
||||
@@ -1465,7 +1465,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶采购订单:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.STK_TransferDirect.ToString());
|
||||
param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID,FSrcStockId.FNumber,FSrcStockLocId,FQty,FNoteEntry,FCreateDate";
|
||||
param.FieldKeys = "FBillNo,'',FStockOutOrgId,FStockOrgId,FMaterialID,FSrcStockId.FNumber,FSrcStockLocId,FQty,FNoteEntry,FCreateDate,FBillEntry_FEntryID";
|
||||
param.Limit = 10;
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
//1.创建时间在两天前和当天时间之间
|
||||
@@ -1507,6 +1507,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.Remark = item[8];
|
||||
lis.CreateTime = Convert.ToDateTime(item[9]);
|
||||
lis.Type = (int)OutStockType.Stkdirecttransfers;
|
||||
lis.Erp_DetailId = Convert.ToInt32(item[10]);
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
|
||||
@@ -1543,7 +1544,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶采购订单:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.STK_TRANSFEROUT.ToString());
|
||||
param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID,FSrcStockID.FNumber,FSrcStockLocId,FQty,FEntryNote,FCreateDate";
|
||||
param.FieldKeys = "FBillNo,'',FStockOrgID,FStockInOrgID,FMaterialID,FSrcStockID.FNumber,FSrcStockLocId,FQty,FEntryNote,FCreateDate,FSTKTRSOUTENTRY_FEntryID";
|
||||
param.Limit = 10;
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
//1.创建时间在两天前和当天时间之间
|
||||
@@ -1585,6 +1586,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.Remark = item[8];
|
||||
lis.CreateTime = Convert.ToDateTime(item[9]);
|
||||
lis.Type = (int)OutStockType.StktransferInst;
|
||||
lis.Erp_DetailId = Convert.ToInt32(item[10]);
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
|
||||
@@ -1621,7 +1623,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶采购订单:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString());
|
||||
param.FieldKeys = "FBillNo,'','0','0',FMaterialID,FStockID.FNumber,FStockLocId,FQty,FDescription,FCreateDate";
|
||||
param.FieldKeys = "FBillNo,'','0','0',FMaterialID,FStockID.FNumber,FStockLocId,FQty,FDescription,FCreateDate,FEntity_FEntryID";
|
||||
param.Limit = 10;
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
//1.创建时间在两天前和当天时间之间
|
||||
@@ -1663,6 +1665,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.Remark = item[8];
|
||||
lis.CreateTime = Convert.ToDateTime(item[9]);
|
||||
lis.Type = (int)OutStockType.Assembled;
|
||||
lis.Erp_DetailId = Convert.ToInt32(item[10]);
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
|
||||
@@ -1699,7 +1702,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶采购订单:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.STK_MisDelivery.ToString());
|
||||
param.FieldKeys = "FBillNo,'',FStockOrgId,FPickOrgId,FMaterialId,FStockId.FNumber,FStockLocId ,FQty,FEntryNote,FCreateDate";
|
||||
param.FieldKeys = "FBillNo,'',FStockOrgId,FPickOrgId,FMaterialId,FStockId.FNumber,FStockLocId ,FQty,FEntryNote,FCreateDate,FEntity_FEntryID";
|
||||
param.Limit = 10;
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
//1.创建时间在两天前和当天时间之间
|
||||
@@ -1741,6 +1744,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.Remark = item[8];
|
||||
lis.CreateTime = Convert.ToDateTime(item[9]);
|
||||
lis.Type = (int)OutStockType.Miscellaneous;
|
||||
lis.Erp_DetailId = Convert.ToInt32(item[10]);
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
|
||||
@@ -1777,7 +1781,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
//3.获取金蝶采购订单:拼接参数和条件
|
||||
var query = new ErpBillQueryDto(token_result.Data);
|
||||
var param = new ErpBillQueryParamDto(FormIdParam.STK_AssembledApp.ToString());
|
||||
param.FieldKeys = "FBillNo,'',FSubProOwnerIdH,FOwnerIdHead,FMaterialIDSETY,FStockIDSETY.FNumber,FStockLocIdSETY,FQtySETY,FDescriptionSETY,FCreateDate";
|
||||
param.FieldKeys = "FBillNo,'',FSubProOwnerIdH,FOwnerIdHead,FMaterialIDSETY,FStockIDSETY.FNumber,FStockLocIdSETY,FQtySETY,FDescriptionSETY,FCreateDate,FSubEntity_FDetailID";
|
||||
param.Limit = 10;
|
||||
//查询条件:备注其中的条件值以金蝶的值为准!!!
|
||||
//1.创建时间在两天前和当天时间之间
|
||||
@@ -1819,6 +1823,7 @@ namespace WMS.Web.Domain.Services.Public
|
||||
lis.Remark = item[8];
|
||||
lis.CreateTime = Convert.ToDateTime(item[9]);
|
||||
lis.Type = (int)OutStockType.Assembled;
|
||||
lis.Erp_DetailId = Convert.ToInt32(item[10]);
|
||||
erp_list.Add(lis);
|
||||
}
|
||||
return ResultList<ErpDeliveryNoticeOutStockResultDto>.ReSuccess(erp_list);
|
||||
|
||||
Reference in New Issue
Block a user