diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 0273ce3e..c5cc3f4c 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -92,17 +92,18 @@ namespace WMS.Web.Api.Controllers // return ""; //return JsonConvert.SerializeObject(result.Data); + var bis = new List() { "CGDD224198", "CGDD224199", "CGDD224200", "CGDD224202", "SUB00006680", "CGDD224203", "SUB000066801", "CGDD224204", "CGDD224205", "CGDD224206", "CGDD224207", "SUB00006681", "CGDD224208", "CGDD224209", "SUB00006682", "CGDD224210", "CGDD224211", "CGDD224212", "CGDD224213", "CGDD224216", "SUB00006683", "CGDD224218", "CGDD224219", "CGDD224220", "CGDD224221", "CGDD224222", "CGDD224223", "CGDD224224", "CGDD224225", "CGDD224226", "CGDD224227", "CGDD224229", "CGDD224230", "CGDD224231", "CGDD224232", "CGDD224233", "SUB00006685", "SUB00006686", "CGDD224234", "CGDD224235", "CGDD224236", "CGDD224237", "CGDD224238", "CGDD224239", "CGDD224240", "CGDD224241", "CGDD224242", "CGDD224243", "CGDD224244", "CGDD224245", "CGDD224246", "CGDD224247", "CGDD224248", "CGDD224249", "CGDD224250", "CGDD224251" }; - // var result = await this._erpService.BillQueryForSupplier(); + var result = await this._erpService.BillQueryForPurchaseInStock(bis); - var result= await this._erpService.BillQueryForAssembledApp_Assembly(); + //var result= await this._erpService.BillQueryForAssembledApp_Assembly(); - var result2 = await this._erpService.BillQueryForAssembledApp_Disassembly(); + //var result2 = await this._erpService.BillQueryForAssembledApp_Disassembly(); - var list= result.Data.ToList(); - list.AddRange(result2.Data.ToList()); + //var list= result.Data.ToList(); + //list.AddRange(result2.Data.ToList()); - var tt = JsonConvert.SerializeObject(list); + var tt = JsonConvert.SerializeObject(result); //var tttt = new List() { "ABCD14200999" }; //var boxInventorys = await _boxInventoryRepositories.Get(142); diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 022faa87..693b441a 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -650,6 +650,11 @@ 组织 + + + erp的明细ID + + 组织编码 @@ -1275,6 +1280,11 @@ 组织ID + + + 对应金蝶的明细ID + + 物料ID @@ -1550,6 +1560,11 @@ 明细ID + + + 对应金蝶的明细ID + + 供应商 @@ -1620,6 +1635,11 @@ 明细ID + + + 对应金蝶的明细ID + + 供应商 @@ -2020,6 +2040,11 @@ 供应商 + + + 对应金蝶的明细ID + + 入库数量 @@ -2072,7 +2097,7 @@ - 组织编码:这个值是可以通过模糊搜索仓位带出来仓库也会一并带出这个值 + 组织编码:仓位-仓库-带出 @@ -2085,6 +2110,11 @@ 仓位ID + + + 对应金蝶的明细ID + + 物料Id diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index e75e1233..b5dd8f8d 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -570,6 +570,11 @@ 箱ID + + + 对应金蝶的明细ID + + 来源单号 @@ -758,6 +763,11 @@ 单据头ID + + + 对应金蝶的明细ID + + 供应商Id diff --git a/src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs index d3600620..0707007a 100644 --- a/src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs @@ -18,6 +18,11 @@ namespace WMS.Web.Core.Dto.Erp /// public int OrgId { get; set; } + /// + /// erp的明细ID + /// + public int ErpDetailId { get; set; } + /// /// 组织编码 /// diff --git a/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs b/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs index 123014ea..44ebbbe2 100644 --- a/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs +++ b/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs @@ -83,6 +83,11 @@ namespace WMS.Web.Core.Dto.InStock [Required(ErrorMessage = "供应商不能为空")] public int SupplierId { get; set; } + /// + /// 对应金蝶的明细ID + /// + public int ErpDetailId { get; set; } + /// /// 入库数量 /// diff --git a/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs b/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs index 567a3350..32be0c2d 100644 --- a/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs +++ b/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs @@ -40,7 +40,7 @@ namespace WMS.Web.Core.Dto.InStock public int OrgId { get; set; } /// - /// 组织编码:这个值是可以通过模糊搜索仓位带出来仓库也会一并带出这个值 + /// 组织编码:仓位-仓库-带出 /// public string OrgCode { get; set; } @@ -55,6 +55,11 @@ namespace WMS.Web.Core.Dto.InStock [Required(ErrorMessage = " 仓位不能为空")] public int SubStockId { get; set; } + /// + /// 对应金蝶的明细ID + /// + public int ErpDetailId { get; set; } + /// /// 物料Id /// diff --git a/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs b/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs index 02173d2b..0b2c273f 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs @@ -45,6 +45,11 @@ namespace WMS.Web.Core.Dto.InStockTask /// public int OrgId { get; set; } + /// + /// 对应金蝶的明细ID + /// + public int ErpDetailId { get; set; } + /// /// 物料ID /// diff --git a/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoNoPurchaseQueryResponse.cs b/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoNoPurchaseQueryResponse.cs index 0ef8aadf..e01e6d9a 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoNoPurchaseQueryResponse.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoNoPurchaseQueryResponse.cs @@ -72,6 +72,11 @@ namespace WMS.Web.Core.Dto.InStockTask /// public int DetailsId { get; set; } + /// + /// 对应金蝶的明细ID + /// + public int ErpDetailId { get; set; } + /// /// 供应商 /// diff --git a/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoQueryResponse.cs b/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoQueryResponse.cs index 95e866c2..db410e67 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoQueryResponse.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoQueryResponse.cs @@ -18,6 +18,11 @@ namespace WMS.Web.Core.Dto.InStockTask /// public int DetailsId { get; set; } + /// + /// 对应金蝶的明细ID + /// + public int ErpDetailId { get; set; } + /// /// 供应商 /// diff --git a/src/WMS.Web.Domain/Entitys/InStockDetails.cs b/src/WMS.Web.Domain/Entitys/InStockDetails.cs index c600abac..4dfdc470 100644 --- a/src/WMS.Web.Domain/Entitys/InStockDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InStockDetails.cs @@ -30,6 +30,11 @@ namespace WMS.Web.Domain.Entitys /// public int BoxId { get; set; } + /// + /// 对应金蝶的明细ID + /// + public int ErpDetailId { get; set; } + /// /// 来源单号 /// diff --git a/src/WMS.Web.Domain/Entitys/InstockTaskDetails.cs b/src/WMS.Web.Domain/Entitys/InstockTaskDetails.cs index 3ca4659c..aa430a5c 100644 --- a/src/WMS.Web.Domain/Entitys/InstockTaskDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InstockTaskDetails.cs @@ -20,7 +20,11 @@ namespace WMS.Web.Domain.Entitys /// /// 单据头ID /// - public int Fid { get; set; } + public int Fid { get; set; } + /// + /// 对应金蝶的明细ID + /// + public int ErpDetailId { get; set; } /// /// 供应商Id /// diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 0a1a2d93..01da9cef 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -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; diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index 4ec3c445..265f5ec9 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -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>(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修改数量 diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index abed547a..3a22bac8 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -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); } diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs index 71ffd3b1..5d14fd59 100644 --- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs @@ -308,7 +308,8 @@ namespace WMS.Web.Repositories DeliveredQty = s.detail.DeliveredQty, ReceiveQty = s.detail.ReceiveQty, AvailableQty = s.detail.AccruedQty - s.detail.ReceiveQty - s.detail.DeliveredQty, - Remark = s.detail.Remark + Remark = s.detail.Remark, + ErpDetailId=s.detail.ErpDetailId }).ToListAsync(); return list; @@ -363,7 +364,8 @@ namespace WMS.Web.Repositories Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId), Qty = s.AccruedQty, DeliveredQty = s.DeliveredQty, - Remark = s.Remark + Remark = s.Remark, + ErpDetailId=s.ErpDetailId }).ToListAsync(); //找箱 var task_box = await _context.InstockTaskBox.Where(x => ids.Contains(x.TaskId))