diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 80d0cf7a..49e5eb59 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -64,7 +64,7 @@ namespace WMS.Web.Api.Controllers /// - /// 测试:同步采购单的入库 + /// 测试:同步 /// /// [HttpGet] @@ -77,7 +77,7 @@ namespace WMS.Web.Api.Controllers bool isTransaction = false; //3.同步数据 - var result = await _inStockTaskService.SsynPurchaseInStock(null,isTransaction); + var result = await _inStockTaskService.SysnMiscellaneous(null,isTransaction); if (!result.IsSuccess) isRollback = true; //4.提交事务 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index a6143f36..222acae4 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -401,7 +401,7 @@ - 测试:同步采购单的入库 + 测试:同步 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 4bb85e65..82f4f3d0 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -555,11 +555,6 @@ erp:其他入库单 - - - id - - 单据编号 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 548be548..b99fee19 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -2463,6 +2463,13 @@ + + + 同步:入库单类型的数据(采购订单,其他入库单,) + + + + 执行方法 diff --git a/src/WMS.Web.Core/Dto/Erp/ErpMiscellaneousDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpMiscellaneousDto.cs index e52f6d38..b7275f6f 100644 --- a/src/WMS.Web.Core/Dto/Erp/ErpMiscellaneousDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/ErpMiscellaneousDto.cs @@ -7,12 +7,9 @@ namespace WMS.Web.Core.Dto.Erp /// /// erp:其他入库单 /// + [Serializable] public class ErpMiscellaneousDto { - /// - /// id - /// - public int Id { get; set; } /// /// 单据编号 /// diff --git a/src/WMS.Web.Domain/Mappers/InStockMapper.cs b/src/WMS.Web.Domain/Mappers/InStockMapper.cs index 915d594c..b39b17ab 100644 --- a/src/WMS.Web.Domain/Mappers/InStockMapper.cs +++ b/src/WMS.Web.Domain/Mappers/InStockMapper.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Text; +using WMS.Web.Core.Dto.Erp; using WMS.Web.Core.Dto.Erp.Purchase; using WMS.Web.Core.Dto.InStock; using WMS.Web.Core.Dto.InStockTask; @@ -20,16 +21,6 @@ namespace WMS.Web.Domain.Mappers .ForMember(x => x.Boxs, opt => opt.Ignore()) .ForMember(x => x.Details, opt => opt.Ignore()); CreateMap(); - //.ForMember(x => x.SupplierId, opt => opt.Ignore()) - //.ForMember(x => x.OrgId, opt => opt.Ignore()) - //.ForMember(x => x.StockId, opt => opt.Ignore()) - //.ForMember(x => x.StockCode, opt => opt.Ignore()) - //.ForMember(x => x.FactoryPrice, opt => opt.Ignore()) - //.ForMember(x => x.AccruedQty, opt => opt.Ignore()) - //.ForMember(x => x.DeliveredQty, opt => opt.Ignore()) - //.ForMember(x => x.RealityQty, opt => opt.Ignore()) - //.ForMember(x => x.Remark, opt => opt.Ignore()) - //.ForMember(x => x.CreateTime, opt => opt.Ignore()); CreateMap(); CreateMap() .ForMember(x => x.Boxs, opt => opt.Ignore()) @@ -39,17 +30,20 @@ namespace WMS.Web.Domain.Mappers - CreateMap().ReverseMap(); - CreateMap() - .ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.FBillNo)) - .ForMember(x => x.CreateTime, ops => ops.MapFrom(x => x.FCreateDate)); + CreateMap().ReverseMap(); CreateMap() .ForMember(x => x.Details, ops => ops.Ignore()); - CreateMap(); + #region ERP-dto映射到wsm的任务表中 + + //ERP采购订单 + CreateMap() + .ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.FBillNo)) + .ForMember(x => x.CreateTime, ops => ops.MapFrom(x => x.FCreateDate)); + CreateMap() .ForMember(x => x.SupplierId, ops => ops.MapFrom(x => x.FSupplierId)) .ForMember(x => x.OrgId, ops => ops.MapFrom(x => x.FPurchaseOrgId)) @@ -60,7 +54,21 @@ namespace WMS.Web.Domain.Mappers .ForMember(x => x.AccruedQty, ops => ops.MapFrom(x => x.FQty)) .ForMember(x => x.Remark, ops => ops.MapFrom(x => x.FEntryNote)) .ReverseMap(); - + + + //ERP其他入库单 + CreateMap() + .ForMember(x => x.OrgId, ops => ops.MapFrom(x => x.StockOrgId)) + .ForMember(x => x.MaterialId, ops => ops.MapFrom(x => x.MaterialId)) + .ForMember(x => x.StockCode, ops => ops.MapFrom(x => x.StockCode)) + .ForMember(x => x.AccruedQty, ops => ops.MapFrom(x => x.Qty)) + .ForMember(x => x.Remark, ops => ops.MapFrom(x => x.Remark)); + + CreateMap() + .ForMember(x => x.SourceBillNo, ops => ops.MapFrom(x => x.BillNo)) + .ForMember(x => x.CreateTime, ops => ops.MapFrom(x => x.CreateTime)); + #endregion + } } } diff --git a/src/WMS.Web.Domain/QuartzJob/InStockOrderQuartzJob.cs b/src/WMS.Web.Domain/QuartzJob/InStockOrderQuartzJob.cs index ebc2734c..9e0a858b 100644 --- a/src/WMS.Web.Domain/QuartzJob/InStockOrderQuartzJob.cs +++ b/src/WMS.Web.Domain/QuartzJob/InStockOrderQuartzJob.cs @@ -7,6 +7,7 @@ using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; +using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Infrastructure; using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; @@ -55,7 +56,7 @@ namespace WMS.Web.Domain.QuartzJob var begindatetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); _logger.LogInformation($"同步金蝶入库单数据:执行开始时间->{begindatetime}"); //3.同步数据 - var result = await _inStockTaskService.SsynPurchaseInStock(null,isTransaction); + var result = await this.InStock(isTransaction); if (!result.IsSuccess) { _logger.LogInformation($"同步金蝶入库单数据:执行失败->{result.Message}"); @@ -76,5 +77,25 @@ namespace WMS.Web.Domain.QuartzJob } } + + /// + /// 同步:入库单类型的数据(采购订单,其他入库单,) + /// + /// + /// + public async Task InStock(bool isTransaction) + { + //1.同步数据:采购订单 + var purchase_result = await _inStockTaskService.SsynPurchaseInStock(null, isTransaction); + if (!purchase_result.IsSuccess) + return Result.ReFailure(purchase_result.Message,purchase_result.Status); + + //2.同步数据:其他入库单 + var miscellaneou_result = await _inStockTaskService.SysnMiscellaneous(null, isTransaction); + if (!miscellaneou_result.IsSuccess) + return Result.ReFailure(miscellaneou_result.Message, miscellaneou_result.Status); + + return Result.ReSuccess(); + } } } diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index 1fa352c2..41109096 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -169,7 +169,7 @@ namespace WMS.Web.Domain.Services //2.2.提交修改 var isSuccess = await _inStockTaskRepositories.UpdateRange(data_list, isTransaction); if (!isSuccess) - return ResultList.ReFailure(ResultCodes.DateWriteError); + return Result.ReFailure(ResultCodes.DateWriteError); //2.3剔除:已修改的单据 foreach (var item in erp_removeList) @@ -198,7 +198,7 @@ namespace WMS.Web.Domain.Services //3.1提交新增 var isSuccess = await _inStockTaskRepositories.AddRange(add_entitys, isTransaction); if (!isSuccess) - return ResultList.ReFailure(ResultCodes.DateWriteError); + return Result.ReFailure(ResultCodes.DateWriteError); } return Result.ReSuccess(); @@ -243,7 +243,7 @@ namespace WMS.Web.Domain.Services //2.2.提交修改 var isSuccess = await _inStockTaskRepositories.UpdateRange(data_list, isTransaction); if (!isSuccess) - return ResultList.ReFailure(ResultCodes.DateWriteError); + return Result.ReFailure(ResultCodes.DateWriteError); //2.3剔除:已修改的单据 foreach (var item in erp_removeList) @@ -261,7 +261,7 @@ namespace WMS.Web.Domain.Services { var dto = new InStockTask(); dto.SourceBillNo = item; - dto.Create(InstockType.Purchase); + dto.Create(InstockType.Miscellaneous); //找到当前对应来源单据编号的集合数据 var current_erp_details = erp_list.Where(x => x.BillNo == item).ToList(); @@ -272,7 +272,7 @@ namespace WMS.Web.Domain.Services //3.1提交新增 var isSuccess = await _inStockTaskRepositories.AddRange(add_entitys, isTransaction); if (!isSuccess) - return ResultList.ReFailure(ResultCodes.DateWriteError); + return Result.ReFailure(ResultCodes.DateWriteError); } return Result.ReSuccess(); diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 2e775b33..fe4f3172 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -164,7 +164,7 @@ namespace WMS.Web.Domain.Services.Public var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.PUR_PurchaseOrder.ToString()); param.FieldKeys = "FBillNo,FSupplierId,FPurchaseOrgId,FModel,FMaterialName,FMaterialId,FSOSTOCKID,FQty,FEntryNote,FCreateDate,FCHUCHANGPRICE,FSOSTOCKID.FNumber,FStockInQty,FDocumentStatus,FBillTypeID,FMRPCloseStatus,FBillTypeID.FName"; - param.Limit = 10; + param.Limit = 10000; //查询条件:备注其中的条件值以金蝶的值为准!!! //1.创建时间在两天前和当天时间之间 //2.审核状态:已审核 @@ -275,8 +275,8 @@ namespace WMS.Web.Domain.Services.Public //3.获取金蝶其他入库订单:拼接参数和条件 var query = new ErpBillQueryDto(token_result.Data); var param = new ErpBillQueryParamDto(FormIdParam.STK_MISCELLANEOUS.ToString()); - param.FieldKeys = "FID,FBillNo,FStockOrgId,FMATERIALID,FSTOCKID,FSTOCKID.FNumber,FQty,FCreateDate,FEntryNote"; - param.Limit = 10; + param.FieldKeys = "FBillNo,FStockOrgId,FMATERIALID,FSTOCKID,FSTOCKID.FNumber,FQty,FCreateDate,FEntryNote"; + param.Limit = 10000; //查询条件:备注其中的条件值以金蝶的值为准!!! //1.创建时间在两天前和当天时间之间 //2.审核状态:已审核 @@ -332,15 +332,14 @@ namespace WMS.Web.Domain.Services.Public foreach (var item in result) { var lis = new ErpMiscellaneousDto(); - lis.Id = Convert.ToInt32(item[0]); - lis.BillNo =item[1]; - lis.StockOrgId = Convert.ToInt32(item[2]); - lis.MaterialId = Convert.ToInt32(item[3]); - lis.StockId = Convert.ToInt32(item[4]); - lis.StockCode = item[5]; - lis.Qty = Convert.ToDecimal(item[6]); - lis.CreateTime = Convert.ToDateTime(item[7]); - lis.Remark = item[8]; + lis.BillNo =item[0]; + lis.StockOrgId = Convert.ToInt32(item[1]); + lis.MaterialId = Convert.ToInt32(item[2]); + lis.StockId = Convert.ToInt32(item[3]); + lis.StockCode = item[4]; + lis.Qty = Convert.ToDecimal(item[5]); + lis.CreateTime = Convert.ToDateTime(item[6]); + lis.Remark = item[7]; erp_list.Add(lis); } return ResultList.ReSuccess(erp_list);