diff --git a/lc123/cloud/app/api/controller/FWInvQueryController.java b/lc123/cloud/app/api/controller/FWInvQueryController.java index 8184545..54e8c98 100644 --- a/lc123/cloud/app/api/controller/FWInvQueryController.java +++ b/lc123/cloud/app/api/controller/FWInvQueryController.java @@ -2,6 +2,7 @@ package tqq9.lc123.cloud.app.api.controller; import com.drew.lang.annotations.NotNull; import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.OrmLocaleValue; import kd.bos.openapi.common.custom.annotation.ApiController; import kd.bos.openapi.common.custom.annotation.ApiParam; import kd.bos.openapi.common.custom.annotation.ApiPostMapping; @@ -25,25 +26,43 @@ public class FWInvQueryController { (@NotNull @ApiParam(value = "入参", example = "") FWInvQueryModel model) { FWInvQueryResult resultExt = new FWInvQueryResult(); List resultBeanList = new ArrayList<>(); +// List> resultBeanList = new ArrayList<>(); int failCount = 0;//失败数量 List queryModels = model.getQueryModels(); for (FWInvQueryModel.QueryModel queryModel : queryModels) { +// List resultBeans = new ArrayList<>(); String materialNumber = queryModel.getMaterialNumber(); String lot = queryModel.getLot(); QFilter qf1 = new QFilter("material.number", QCP.equals, materialNumber); - QFilter qf2 = new QFilter("material.number", QCP.in, lot); - DynamicObject[] realbalances = BusinessDataServiceHelper.load("im_inv_realbalance", "id,lotnum,avbbaseqty", new QFilter[]{qf1, qf2}); + QFilter qf2 = new QFilter("lotnum", QCP.in, lot); + DynamicObject[] realbalances = BusinessDataServiceHelper.load("im_inv_realbalance", "id,org,warehouse,lotnum,avbbaseqty,qty", new QFilter[]{qf1, qf2}); if(realbalances != null && realbalances.length > 0){ - String number = realbalances[0].getString("number"); - BigDecimal avbbaseqty = realbalances[0].getBigDecimal("avbbaseqty"); - - FWInvQueryResult.ResultBean resultBean = new FWInvQueryResult.ResultBean(); - resultBean.setNumber(materialNumber); - resultBean.setLot(lot); - resultBean.setQty(avbbaseqty); - resultBeanList.add(resultBean); + for (DynamicObject realbalance : realbalances) { + FWInvQueryResult.ResultBean resultBean = new FWInvQueryResult.ResultBean(); + //获取数量 + BigDecimal qty = realbalance.getBigDecimal("qty"); + //获取组织数据 + DynamicObject org = realbalance.getDynamicObject("org"); + if (org!= null){ + resultBean.setOrgCode(org.getString("number")); + OrmLocaleValue name = (OrmLocaleValue)org.get("name"); + resultBean.setOrgName(name.get("zh_CN")); + } + //获取仓库数据 + DynamicObject warehouse = realbalance.getDynamicObject("warehouse"); + if (warehouse!= null){ + resultBean.setWarehouseCode(warehouse.getString("number")); + OrmLocaleValue name = (OrmLocaleValue)warehouse.get("name"); + resultBean.setWarehouseName(name.get("zh_CN")); + } + resultBean.setNumber(materialNumber); + resultBean.setLot(lot); + resultBean.setQty(qty); + resultBeanList.add(resultBean); + } } +// resultBeanList.add(resultBeans); } resultExt.setFailCount(failCount); diff --git a/lc123/cloud/app/api/result/FWInvQueryResult.java b/lc123/cloud/app/api/result/FWInvQueryResult.java index cca7b74..1cf50f5 100644 --- a/lc123/cloud/app/api/result/FWInvQueryResult.java +++ b/lc123/cloud/app/api/result/FWInvQueryResult.java @@ -18,6 +18,7 @@ public class FWInvQueryResult implements Serializable { @ApiParam("返回结果") private List result; +// private List> result; public int getFailCount() { return failCount; @@ -38,14 +39,35 @@ public class FWInvQueryResult implements Serializable { public List getResult() { return result; } +// public List> getResult() { +// return result; +// } public void setResult(List result) { this.result = result; } +// public void setResult(List> result) { +// this.result = result; +// } @ApiModel public static class ResultBean implements Serializable { + + @ApiParam("组织编码") + private String orgCode; + + @ApiParam("组织名称") + private String orgName; + + @ApiParam("仓库编码") + private String warehouseCode; + + @ApiParam("仓库名称") + private String warehouseName; + + + @ApiParam("物料编码") private String number; @@ -55,6 +77,38 @@ public class FWInvQueryResult implements Serializable { @ApiParam("可用库存数量") private BigDecimal qty; + public String getOrgCode() { + return orgCode; + } + + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + public String getOrgName() { + return orgName; + } + + public void setOrgName(String orgName) { + this.orgName = orgName; + } + + public String getWarehouseCode() { + return warehouseCode; + } + + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + public String getWarehouseName() { + return warehouseName; + } + + public void setWarehouseName(String warehouseName) { + this.warehouseName = warehouseName; + } + public String getNumber() { return number; }