diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index 87fd87fc..e2a492bd 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 d8e08f66..47b1e9d1 100644 --- a/src/WMS.Web.Api/Controllers/SysConfigController.cs +++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs @@ -12,6 +12,7 @@ using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Infrastructure; using WMS.Web.Domain.IService.Public; using WMS.Web.Domain.Values; +using WMS.Web.Domain.Values.Single; namespace WMS.Web.Api.Controllers { @@ -25,12 +26,16 @@ namespace WMS.Web.Api.Controllers private readonly ILoginService _loginService; private readonly IBasicsRepositories _basicsRepositories; private readonly IBoxRepositories _boxRepositories; + private readonly IErpService _erpService; + private readonly ISingleDataService _singleDataService; public SysConfigController(ILoginService loginService, IBasicsRepositories basicsRepositories, - IBoxRepositories boxRepositories) + IBoxRepositories boxRepositories, IErpService erpService, ISingleDataService singleDataService) { _loginService = loginService; _basicsRepositories = basicsRepositories; _boxRepositories = boxRepositories; + _erpService = erpService; + _singleDataService = singleDataService; } /// @@ -111,6 +116,37 @@ namespace WMS.Web.Api.Controllers var r = await _basicsRepositories.GetSubUcStockAsync(id); return Result>.ReSuccess(r); } + /// + /// 根据仓库获取金蝶子仓库 + /// + /// 仓库id + /// + [HttpGet] + [Route("GetErp_SubUcStock/{id}")] + public async Task>> GetErp_SubUcStock([FromRoute] int id) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result>.ReFailure(ResultCodes.Token_Invalid_Error); + + List list = new List(); + var code = _singleDataService.GetSingleDataCode(SingleAction.Stocks, loginInfo.UserInfo.CompanyId, id); + if (code.Substring(0, 2).Equals("HD") || code.Substring(0, 2).Equals("GD")) + { + var subs = await _erpService.BillQueryForSubStock(code); + foreach (var s in subs.Data) + { + list.Add(new UcStockResponse() + { + Id = s.Id, + Code = s.Code, + Name = s.Name, + Disable = false + }); + } + } + return Result>.ReSuccess(list); + } /// /// 获取仓位:模糊名称 diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index 8088fdca..a85b78cd 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -35,7 +35,7 @@ namespace WMS.Web.Api.Controllers [Route("hj")] public async Task TestHJ() { - var res = await this._erpService.BillQueryForTransferDirectOutStock(); + var res = await this._erpService.BillQueryForSubStock(); //var result= await this._erpService.BillQueryForPurchaseInStock(); //var result = await this._erpService.BillQueryForOrg(); var result = await this._erpService.BillQueryForMaterial(); diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 5a6bad72..4c5cc7b1 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -993,6 +993,11 @@ 仓位ID + + + 子仓库(跟金蝶交互字段) + + 盘点前数量(wms系统数量) @@ -1570,6 +1575,12 @@ + + + 获取仓位信息信息 根据仓库编码 + + + 登录服务接口 @@ -2316,6 +2327,13 @@ + + + 根据仓库编码获取仓位 + + + + 同步数据(保存提交审核) diff --git a/src/WMS.Web.Domain/Entitys/TakeStock.cs b/src/WMS.Web.Domain/Entitys/TakeStock.cs index e0808357..82a349ae 100644 --- a/src/WMS.Web.Domain/Entitys/TakeStock.cs +++ b/src/WMS.Web.Domain/Entitys/TakeStock.cs @@ -61,6 +61,11 @@ namespace WMS.Web.Domain.Entitys [Column("SubStockId")] public int SubStockId { get; set; } /// + /// 子仓库(跟金蝶交互字段) + /// + [Column("Erp_SubStockId")] + public int Erp_SubStockId { get; set; } = 0; + /// /// 盘点前数量(wms系统数量) /// [Column("BeforeQty")] diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs index 52aefd13..399c0b4c 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs @@ -65,6 +65,11 @@ namespace WMS.Web.Domain.IService.Public /// /// Task> BillQueryForStock(); + /// + /// 获取仓位信息信息 根据仓库编码 + /// + /// + Task> BillQueryForSubStock(string code=null); //同步数据(保存提交审核) Task Sync(T dto, string formId); //下推 diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 47bf4091..f134bf24 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -192,7 +192,7 @@ namespace WMS.Web.Domain.Services.Public param.FieldKeys = "FMATERIALID,FName,FNumber,FSpecification,FForbidStatus,FUseOrgId"; param.Limit = 10000; Console.Write("请输入第几行:"); - var row=Console.ReadLine(); + var row = Console.ReadLine(); param.StartRow = (Convert.ToInt32(row) * param.Limit); //查询条件:备注其中的条件值以金蝶的值为准!!! @@ -310,6 +310,49 @@ namespace WMS.Web.Domain.Services.Public } } /// + /// 根据仓库编码获取仓位 + /// + /// + /// + public async Task> BillQueryForSubStock(string code = null) + { + try + { + var token_result = await this.Init(); + if (!token_result.IsSuccess) + return ResultList.ReFailure(token_result); + var query = new ErpBillQueryDto(token_result.Data); + var param = new ErpBillQueryParamDto(FormIdParam.BD_STOCK.ToString()); + param.FieldKeys = "FStockFlexDetail_FDetailID,FFlexEntryName,FFlexEntryId,'0'"; + param.Limit = 100000; + if (!string.IsNullOrEmpty(code)) + param.FilterString = "FNumber='" + code + "'";//FNumber='C' + query.Data = JsonConvert.SerializeObject(param); + var json = JsonConvert.SerializeObject(query); + + var result_json = await _client.ExecuteBillQueryAsync(json); + var result = JsonConvert.DeserializeObject>>(result_json); + + var list = new List(); + foreach (var item in result) + { + var lis = new ErpStockDto(); + lis.Id = int.Parse(item[0]); + lis.Name = item[1]; + lis.Code = item[2]; + lis.OrgId = Convert.ToInt32(item[3]); + list.Add(lis); + + } + return ResultList.ReSuccess(list); + + } + catch (Exception) + { + return ResultList.ReFailure("错误", 10002); + } + } + /// /// 同步数据(保存提交审核) /// /// @@ -393,7 +436,7 @@ namespace WMS.Web.Domain.Services.Public param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C' and FRemainOutQty>=0"; //string srt = JsonConvert.SerializeObject(stocks_codes); //param.FilterString = param.FilterString + " and FStockID in (" + srt.Substring(1, srt.Length - 2) + ")"; - + //根据原订单号查询 if (sourceBillNos != null && sourceBillNos.Count() > 0) { @@ -812,6 +855,7 @@ namespace WMS.Web.Domain.Services.Public return ResultList.ReFailure(ResultCodes.Erp_BillQuery_Error); } } + #endregion } }