1.调整“泛微查询物料库存api接口”,返参新增“组织编码”,“组织名称”,“仓库编码”,“仓库名称”。

This commit is contained in:
xiaosuonian 2025-09-05 10:14:03 +08:00
parent c20e6f6901
commit 9caf21c6e6
2 changed files with 83 additions and 10 deletions

View File

@ -2,6 +2,7 @@ package tqq9.lc123.cloud.app.api.controller;
import com.drew.lang.annotations.NotNull; import com.drew.lang.annotations.NotNull;
import kd.bos.dataentity.entity.DynamicObject; 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.ApiController;
import kd.bos.openapi.common.custom.annotation.ApiParam; import kd.bos.openapi.common.custom.annotation.ApiParam;
import kd.bos.openapi.common.custom.annotation.ApiPostMapping; import kd.bos.openapi.common.custom.annotation.ApiPostMapping;
@ -25,25 +26,43 @@ public class FWInvQueryController {
(@NotNull @ApiParam(value = "入参", example = "") FWInvQueryModel model) { (@NotNull @ApiParam(value = "入参", example = "") FWInvQueryModel model) {
FWInvQueryResult resultExt = new FWInvQueryResult(); FWInvQueryResult resultExt = new FWInvQueryResult();
List<FWInvQueryResult.ResultBean> resultBeanList = new ArrayList<>(); List<FWInvQueryResult.ResultBean> resultBeanList = new ArrayList<>();
// List<List<FWInvQueryResult.ResultBean>> resultBeanList = new ArrayList<>();
int failCount = 0;//失败数量 int failCount = 0;//失败数量
List<FWInvQueryModel.QueryModel> queryModels = model.getQueryModels(); List<FWInvQueryModel.QueryModel> queryModels = model.getQueryModels();
for (FWInvQueryModel.QueryModel queryModel : queryModels) { for (FWInvQueryModel.QueryModel queryModel : queryModels) {
// List<FWInvQueryResult.ResultBean> resultBeans = new ArrayList<>();
String materialNumber = queryModel.getMaterialNumber(); String materialNumber = queryModel.getMaterialNumber();
String lot = queryModel.getLot(); String lot = queryModel.getLot();
QFilter qf1 = new QFilter("material.number", QCP.equals, materialNumber); QFilter qf1 = new QFilter("material.number", QCP.equals, materialNumber);
QFilter qf2 = new QFilter("material.number", QCP.in, lot); QFilter qf2 = new QFilter("lotnum", QCP.in, lot);
DynamicObject[] realbalances = BusinessDataServiceHelper.load("im_inv_realbalance", "id,lotnum,avbbaseqty", new QFilter[]{qf1, qf2}); DynamicObject[] realbalances = BusinessDataServiceHelper.load("im_inv_realbalance", "id,org,warehouse,lotnum,avbbaseqty,qty", new QFilter[]{qf1, qf2});
if(realbalances != null && realbalances.length > 0){ if(realbalances != null && realbalances.length > 0){
String number = realbalances[0].getString("number"); for (DynamicObject realbalance : realbalances) {
BigDecimal avbbaseqty = realbalances[0].getBigDecimal("avbbaseqty"); FWInvQueryResult.ResultBean resultBean = new FWInvQueryResult.ResultBean();
//获取数量
FWInvQueryResult.ResultBean resultBean = new FWInvQueryResult.ResultBean(); BigDecimal qty = realbalance.getBigDecimal("qty");
resultBean.setNumber(materialNumber); //获取组织数据
resultBean.setLot(lot); DynamicObject org = realbalance.getDynamicObject("org");
resultBean.setQty(avbbaseqty); if (org!= null){
resultBeanList.add(resultBean); 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); resultExt.setFailCount(failCount);

View File

@ -18,6 +18,7 @@ public class FWInvQueryResult implements Serializable {
@ApiParam("返回结果") @ApiParam("返回结果")
private List<ResultBean> result; private List<ResultBean> result;
// private List<List<ResultBean>> result;
public int getFailCount() { public int getFailCount() {
return failCount; return failCount;
@ -38,14 +39,35 @@ public class FWInvQueryResult implements Serializable {
public List<ResultBean> getResult() { public List<ResultBean> getResult() {
return result; return result;
} }
// public List<List<ResultBean>> getResult() {
// return result;
// }
public void setResult(List<ResultBean> result) { public void setResult(List<ResultBean> result) {
this.result = result; this.result = result;
} }
// public void setResult(List<List<ResultBean>> result) {
// this.result = result;
// }
@ApiModel @ApiModel
public static class ResultBean implements Serializable { public static class ResultBean implements Serializable {
@ApiParam("组织编码")
private String orgCode;
@ApiParam("组织名称")
private String orgName;
@ApiParam("仓库编码")
private String warehouseCode;
@ApiParam("仓库名称")
private String warehouseName;
@ApiParam("物料编码") @ApiParam("物料编码")
private String number; private String number;
@ -55,6 +77,38 @@ public class FWInvQueryResult implements Serializable {
@ApiParam("可用库存数量") @ApiParam("可用库存数量")
private BigDecimal qty; 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() { public String getNumber() {
return number; return number;
} }