拉取源数据的方式

This commit is contained in:
tongfei
2023-12-01 14:20:17 +08:00
parent 5f6d1d0de0
commit b6052dea49
15 changed files with 110 additions and 21 deletions

View File

@@ -30,6 +30,11 @@ namespace WMS.Web.Domain.Entitys
/// </summary>
public int BoxId { get; set; }
/// <summary>
/// 对应金蝶的明细ID
/// </summary>
public int ErpDetailId { get; set; }
/// <summary>
/// 来源单号
/// </summary>

View File

@@ -20,7 +20,11 @@ namespace WMS.Web.Domain.Entitys
/// <summary>
/// 单据头ID
/// </summary>
public int Fid { get; set; }
public int Fid { get; set; }
/// <summary>
/// 对应金蝶的明细ID
/// </summary>
public int ErpDetailId { get; set; }
/// <summary>
/// 供应商Id
/// </summary>

View File

@@ -170,13 +170,14 @@ namespace WMS.Web.Domain.Services
{
//这里找任务单的物料条件物料ID和应入库数量大于收货数量防止有同样的物料数据收货的时候 会有收货数量,只要找到没有收完的就行了
var current_task_Det = tast.Details.Where(x => x.MaterialId == item.MaterialId && x.AccruedQty > x.ReceiveQty).FirstOrDefault();
//3.2映射返回明细对象
var box_task_detail = new BoxDetailsInStockTaskDto();
box_task_detail.SupplierId = current_task_Det == null ? 0 : current_task_Det.SupplierId;
box_task_detail.OrgId = current_task_Det == null ? 0 : current_task_Det.OrgId;
box_task_detail.ReceiveQty = current_task_Det == null ? 0 : current_task_Det.ReceiveQty;
box_task_detail.AccruedQty = current_task_Det == null ? 0 : current_task_Det.AccruedQty;
box_task_detail.ErpDetailId= current_task_Det == null ? 0 : current_task_Det.ErpDetailId;
box_task_detail.MaterialId = item.MaterialId;
box_task_detail.BoxMaterialQty = item.Qty;

View File

@@ -276,8 +276,8 @@ namespace WMS.Web.Domain.Services
var erp_list_dets= erp_list.Where(t => t.BillNo == x.SourceBillNo).ToList();
if (erp_list_dets != null && erp_list_dets.Count != 0 && erp_list_dets.Count > x.Details.Count)
{
var xd_mids=x.Details.Select(xd => xd.MaterialId).ToList();
var task_no_materials= erp_list_dets.Where(ed => !xd_mids.Contains(ed.MaterialId)).ToList();
var xd_detids=x.Details.Select(xd => xd.ErpDetailId).ToList();
var task_no_materials= erp_list_dets.Where(ed => !xd_detids.Contains(ed.ErpDetailId)).ToList();
var Add_task_no_materials= _mapper.Map<List<InStockTaskDetails>>(task_no_materials);
x.Details.AddRange(Add_task_no_materials);
}
@@ -292,7 +292,7 @@ namespace WMS.Web.Domain.Services
continue;
//2.1.1对比erp的物料信息
var erp_data = erp_list.Where(x => x.BillNo == data.SourceBillNo && x.MaterialId == item.MaterialId).FirstOrDefault();
var erp_data = erp_list.Where(x =>x.ErpDetailId==item.ErpDetailId).FirstOrDefault();
if (erp_data != null)
{
//2.1.2修改数量

View File

@@ -163,7 +163,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶采购订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.PUR_PurchaseOrder.ToString());
param.FieldKeys = "FBillNo,FSupplierId,FPurchaseOrgId,FMaterialId,FSOSTOCKID,FQty,FEntryNote,FCreateDate,FCHUCHANGPRICE,FSOSTOCKID.FNumber,FStockInQty,FPurchaseOrgId.FNumber";
param.FieldKeys = "FBillNo,FSupplierId,FPurchaseOrgId,FMaterialId,FSOSTOCKID,FQty,FEntryNote,FCreateDate,FCHUCHANGPRICE,FSOSTOCKID.FNumber,FStockInQty,FPurchaseOrgId.FNumber,FPOOrderEntry_FEntryID";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -233,6 +233,7 @@ namespace WMS.Web.Domain.Services.Public
lis.StockCode = item[9];
lis.DeliveredQty = Convert.ToDecimal(item[10]);
lis.OrgCode = item[11];
lis.ErpDetailId = Convert.ToInt32(item[12]);
lis.Type = (int)InstockType.Purchase;
erp_list.Add(lis);
}
@@ -271,7 +272,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶其他入库订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_MISCELLANEOUS.ToString());
param.FieldKeys = "FBillNo,FStockOrgId,FMATERIALID,FSTOCKID,FSTOCKID.FNumber,FQty,FCreateDate,FEntryNote,FStockOrgId.FNumber";
param.FieldKeys = "FBillNo,FStockOrgId,FMATERIALID,FSTOCKID,FSTOCKID.FNumber,FQty,FCreateDate,FEntryNote,FStockOrgId.FNumber,FEntryID";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -336,6 +337,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.ErpDetailId = Convert.ToInt32(item[9]);
lis.Type = (int)InstockType.Miscellaneous;
erp_list.Add(lis);
}
@@ -374,7 +376,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,FStockOrgId,FMaterialId,FDestStockId,FDestStockId.FNumber,FQty,FCreateDate,FNoteEntry,FStockOrgId.FNumber";
param.FieldKeys = "FBillNo,FStockOrgId,FMaterialId,FDestStockId,FDestStockId.FNumber,FQty,FCreateDate,FNoteEntry,FStockOrgId.FNumber,FEntryID";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -440,6 +442,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.ErpDetailId = Convert.ToInt32(item[9]);
lis.Type = (int)InstockType.Stkdirecttransfers;
erp_list.Add(lis);
}
@@ -478,7 +481,7 @@ namespace WMS.Web.Domain.Services.Public
//3.获取金蝶分步式入库订单:拼接参数和条件
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.STK_TRANSFERIN.ToString());
param.FieldKeys = "FBillNo,FStockOrgID,FMaterialID,FDestStockID,FDestStockID.FNumber,FQty,FCreateDate,FEntryNote,FStockOrgID.FNumber";
param.FieldKeys = "FBillNo,FStockOrgID,FMaterialID,FDestStockID,FDestStockID.FNumber,FQty,FCreateDate,FEntryNote,FStockOrgID.FNumber,FEntryID";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -543,6 +546,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.ErpDetailId = Convert.ToInt32(item[9]);
lis.Type = (int)InstockType.StktransferInst;
erp_list.Add(lis);
}
@@ -582,7 +586,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,FOwnerIdHead,FMaterialID,FStockID,FStockID.FNumber,FQty,FCreateDate,FDescription,FOwnerIdHead.FNumber";
param.FieldKeys = "FBillNo,FOwnerIdHead,FMaterialID,FStockID,FStockID.FNumber,FQty,FCreateDate,FDescription,FOwnerIdHead.FNumber,FEntryID";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -648,6 +652,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.ErpDetailId = Convert.ToInt32(item[9]);
lis.Type = (int)InstockType.Assembled;
erp_list.Add(lis);
}
@@ -686,7 +691,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,FMaterialID,FStockIDSETY,FStockIDSETY.FNumber,FQtySETY,FCreateDate,FDescriptionSETY,FSubProOwnerIdH.FNumber";
param.FieldKeys = "FBillNo,FSubProOwnerIdH,FMaterialID,FStockIDSETY,FStockIDSETY.FNumber,FQtySETY,FCreateDate,FDescriptionSETY,FSubProOwnerIdH.FNumber,FSubEntity_FDetailID";
param.Limit = 10000;
//查询条件:备注其中的条件值以金蝶的值为准!!!
//1.创建时间在两天前和当天时间之间
@@ -752,6 +757,7 @@ namespace WMS.Web.Domain.Services.Public
lis.CreateTime = Convert.ToDateTime(item[6]);
lis.Remark = item[7];
lis.OrgCode = item[8];
lis.ErpDetailId = Convert.ToInt32(item[9]);
lis.Type = (int)InstockType.Assembled;
erp_list.Add(lis);
}