diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index e4edbf89..d681219a 100644 Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs index f4ae79fb..ba374d38 100644 --- a/src/WMS.Web.Api/Controllers/SysConfigController.cs +++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs @@ -352,18 +352,18 @@ namespace WMS.Web.Api.Controllers } var res = await _boxRepositories.GetBox(new List() { boxBillNo }); - if (res.Count() <= 0) return Result.ReSuccess(null); + if (res.Count() <= 0) return Result.ReFailure(ResultCodes.BoxNoData); return Result.ReSuccess(res.First()); } /// - /// 根据序列号或规格型号搜索物料信息-PDA + /// 根据序列号或规格型号,物料编码搜索物料信息-PDA /// - /// 序列号或规格型号 + /// 序列号或规格型号或无聊编码 /// [HttpGet] - [Route("GetMaterial/{serialNumber}")] - public async Task> GetMaterial([FromRoute] string serialNumber) + [Route("GetMaterial")] + public async Task> GetMaterial([FromQuery] string serialNumber) { var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); if (loginInfo == null || loginInfo.UserInfo == null) diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 9b767d07..8a39cd50 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -519,9 +519,9 @@ - 根据序列号或规格型号搜索物料信息-PDA + 根据序列号或规格型号,物料编码搜索物料信息-PDA - 序列号或规格型号 + 序列号或规格型号或无聊编码 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 1a211074..ff15b72d 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -750,9 +750,9 @@ 业务对象表单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 ed92d4df..9440e101 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1312,7 +1312,7 @@ 同步成功或者失败 默认是失败状态 - + 同步到金蝶后金蝶的单据Id @@ -1710,7 +1710,7 @@ 备注 - + 同步到金蝶后金蝶的单据Id diff --git a/src/WMS.Web.Core/Dto/Erp/ErpOperateDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpOperateDto.cs index 746866fe..69ed5aa6 100644 --- a/src/WMS.Web.Core/Dto/Erp/ErpOperateDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/ErpOperateDto.cs @@ -10,10 +10,10 @@ namespace WMS.Web.Core.Dto.Erp /// public class ErpOperateDto { - public ErpOperateDto(string formId, string id) + public ErpOperateDto(string formId, string number) { this.FormId = formId; - this.Ids = id; + this.Numbers =new List() { number }; } /// /// 业务对象表单Id(必录) @@ -21,8 +21,8 @@ namespace WMS.Web.Core.Dto.Erp [JsonProperty("FormId")] public string FormId { get; set; } /// - /// 单据Id + /// 单据编码 /// - public string Ids { get; set; } + public List Numbers { get; set; } } } diff --git a/src/WMS.Web.Domain/Entitys/OutStock.cs b/src/WMS.Web.Domain/Entitys/OutStock.cs index 5812aa55..5d879efc 100644 --- a/src/WMS.Web.Domain/Entitys/OutStock.cs +++ b/src/WMS.Web.Domain/Entitys/OutStock.cs @@ -133,7 +133,7 @@ namespace WMS.Web.Domain.Entitys /// 同步金蝶(成功) /// /// - public void SyncSuccess(string sourcBillNo, int operateId,string salOutStockId) + public void SyncSuccess(string sourcBillNo, int operateId,string erpBillNo) { //foreach (var e in erpDetailIds) // this.SuccessSyncFail.Remove(e); @@ -141,7 +141,7 @@ namespace WMS.Web.Domain.Entitys foreach (var e in erpd) { e.SuccessSync = SyncStatus.Success; - e.ErpSyncId = salOutStockId; + e.ErpSyncBillNo = erpBillNo; } //所有erp明细同步成功才是整个单据成功 var erpDetails = this.Details.SelectMany(s => s.ErpDetails); diff --git a/src/WMS.Web.Domain/Entitys/OutStockErpDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockErpDetails.cs index 0d31272b..d7f1f26e 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockErpDetails.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockErpDetails.cs @@ -53,7 +53,7 @@ namespace WMS.Web.Domain.Entitys /// /// 同步到金蝶后金蝶的单据Id /// - [Column("ErpSyncId")] - public string ErpSyncId { get; set; } + [Column("ErpSyncBillNo")] + public string ErpSyncBillNo { get; set; } } } diff --git a/src/WMS.Web.Domain/Entitys/TakeStock.cs b/src/WMS.Web.Domain/Entitys/TakeStock.cs index 38d9438a..fc645bb9 100644 --- a/src/WMS.Web.Domain/Entitys/TakeStock.cs +++ b/src/WMS.Web.Domain/Entitys/TakeStock.cs @@ -54,8 +54,8 @@ namespace WMS.Web.Domain.Entitys /// /// 同步到金蝶后金蝶的单据Id /// - [Column("ErpSyncId")] - public string ErpSyncId { get; set; } + [Column("ErpSyncBillNo")] + public string ErpSyncBillNo { get; set; } /// /// 明细 /// @@ -75,11 +75,11 @@ namespace WMS.Web.Domain.Entitys /// /// /// - public void Sync(bool isSuccess, string remark, SyncStatus syncStatus,string erpId) + public void Sync(bool isSuccess, string remark, SyncStatus syncStatus,string erpBillNo) { this.SuccessSync = syncStatus; this.Remark = ""; - this.ErpSyncId = erpId; + this.ErpSyncBillNo = erpBillNo; } /// /// 生成单据号 diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs index 49306492..ec8c9d01 100644 --- a/src/WMS.Web.Domain/Services/OutStockService.cs +++ b/src/WMS.Web.Domain/Services/OutStockService.cs @@ -230,7 +230,9 @@ namespace WMS.Web.Domain.Services var sourcNos = entity.Details.SelectMany(s => s.ErpDetails).GroupBy(s => s.SourceBillNo).Select(s => s.Key); foreach (var s in failList) { - var erp_details = entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.Erp_DetailId).ToList(); + var erp_details = entity.Details + .SelectMany(s => s.ErpDetails) + .Where(w=>w.SourceBillNo.Equals(s)).Select(s => s.Erp_DetailId).ToList(); var erpDto = new ErpPushDto() { RuleId = "DeliveryNotice-OutStock",//转换规则内码 发货通知单下推销售出库单 @@ -242,7 +244,7 @@ namespace WMS.Web.Domain.Services //下推金蝶 var res = await this.Push(erpDto, entity); if (res.result.IsSuccess) - entity.SyncSuccess(s, loginInfo?.UserInfo?.StaffId ?? 0, res.erpId); + entity.SyncSuccess(s, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); else entity.SyncFail(res.result.Message, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus); } @@ -258,7 +260,7 @@ namespace WMS.Web.Domain.Services /// /// /// - private async Task<(Result result, SyncStatus syncStatus, string erpId)> Push(ErpPushDto dto, OutStock entity) + private async Task<(Result result, SyncStatus syncStatus, string erpBillNo)> Push(ErpPushDto dto, OutStock entity) { var res = await _erpService.Push(dto); if (!res.IsSuccess) @@ -287,7 +289,7 @@ namespace WMS.Web.Domain.Services if (!resSubmit.IsSuccess) { _logger.LogInformation($"出库单->提交失败 单号:{entity.BillNo} 错误:{resSubmit.Message}"); - return (resSubmit, SyncStatus.SubmitFail, o_dto.Ids); + return (resSubmit, SyncStatus.SubmitFail, o_dto.Numbers.First()); } //审核 _logger.LogInformation($"出库单->提交成功 开始审核 单号:{entity.BillNo}"); @@ -295,10 +297,10 @@ namespace WMS.Web.Domain.Services if (!resSubmit.IsSuccess) { _logger.LogInformation($"出库单->审核失败 单号:{entity.BillNo} 错误:{resSubmit.Message}"); - return (resSubmit, SyncStatus.CheckFail, o_dto.Ids); + return (resSubmit, SyncStatus.CheckFail, o_dto.Numbers.First()); } _logger.LogInformation($"同步金蝶成功"); - return (Result.ReSuccess(), SyncStatus.Success, o_dto.Ids); + return (Result.ReSuccess(), SyncStatus.Success, o_dto.Numbers.First()); } } } diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index dd53008e..ce4d56d1 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -1317,9 +1317,9 @@ namespace WMS.Web.Domain.Services.Public if (jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower() == "true") { - //保存成功后返回Id 后续操作根据Id操作 - string id = jobject["Result"]["ResponseStatus"]["SuccessEntitys"][0]["Id"].ToString(); - return Result.ReSuccess(id); + //保存成功后返回number 后续操作根据Id操作 + string number = jobject["Result"]["ResponseStatus"]["SuccessEntitys"][0]["Number"].ToString(); + return Result.ReSuccess(number); } var msg = jobject["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString(); diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs index 815b297c..3eea9771 100644 --- a/src/WMS.Web.Domain/Services/TakeStockService.cs +++ b/src/WMS.Web.Domain/Services/TakeStockService.cs @@ -197,7 +197,7 @@ namespace WMS.Web.Domain.Services FormIdParam type = entity.ResultType == TakeStockType.Loss ? FormIdParam.STK_StockCountLoss : FormIdParam.STK_StockCountGain; //操作金蝶 var resSync = await ErpOperate(dto, type); - entity.Sync(resSync.result.IsSuccess, resSync.result.Message, resSync.syncStatus, resSync.erpId); + entity.Sync(resSync.result.IsSuccess, resSync.result.Message, resSync.syncStatus, resSync.erpBillNo); await _takeStockRepositories.Edit(entity, true); return res; } @@ -207,7 +207,7 @@ namespace WMS.Web.Domain.Services /// /// /// - private async Task<(Result result, SyncStatus syncStatus, string erpId)> ErpOperate(ErpTakeStockSaveDto dto, FormIdParam type) + private async Task<(Result result, SyncStatus syncStatus, string erpBillNo)> ErpOperate(ErpTakeStockSaveDto dto, FormIdParam type) { string formId = type.ToString(); _logger.LogInformation($"盘点单->开始同步金蝶 单号:{dto.BillNo} 数据: {JsonConvert.SerializeObject(dto)}"); @@ -229,7 +229,7 @@ namespace WMS.Web.Domain.Services //if (!del_res.IsSuccess) // _logger.LogError($"盘盈盘亏同步金蝶 单号:{dto.BillNo} 提交失败原因: {res.Message} 删单失败原因:{del_res.Message}"); _logger.LogInformation($"盘点单->提交失败 单号:{dto.BillNo} 错误:{res.Message}"); - return (res, SyncStatus.SubmitFail, o_dto.Ids); + return (res, SyncStatus.SubmitFail, o_dto.Numbers.First()); } //审核 _logger.LogInformation($"盘点单->提交成功 开始审核 单号:{dto.BillNo}"); @@ -250,10 +250,10 @@ namespace WMS.Web.Domain.Services //if (!del_res.IsSuccess) // _logger.LogError($"盘盈盘亏同步金蝶 单号:{dto.BillNo} 审核失败原因: {res.Message} 删单失败原因:{del_res.Message}"); _logger.LogInformation($"盘点单->审核失败 单号:{dto.BillNo} 错误:{res.Message}"); - return (res, SyncStatus.CheckFail, o_dto.Ids); + return (res, SyncStatus.CheckFail, o_dto.Numbers.First()); } _logger.LogInformation($"同步金蝶成功"); - return (Result.ReSuccess(), SyncStatus.Success, o_dto.Ids); + return (Result.ReSuccess(), SyncStatus.Success, o_dto.Numbers.First()); } } } diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs index 1fd9d577..1d86964a 100644 --- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs +++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs @@ -186,7 +186,7 @@ namespace WMS.Web.Repositories return response; var materials = materials_result.Data.ToList(); - var material = materials.FirstOrDefault(f => f.Specifications.Equals(serialNumber)); + var material = materials.FirstOrDefault(f => f.Specifications.Equals(serialNumber)|| f.MaterialNumber.Equals(serialNumber)); if (material != null) { response.MaterialId = material.MaterialId;