57 lines
2.5 KiB
Java
57 lines
2.5 KiB
Java
package tqq9.lc123.cloud.app.api.controller;
|
|
|
|
import com.drew.lang.annotations.NotNull;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.openapi.common.custom.annotation.ApiController;
|
|
import kd.bos.openapi.common.custom.annotation.ApiParam;
|
|
import kd.bos.openapi.common.custom.annotation.ApiPostMapping;
|
|
import kd.bos.openapi.common.result.CustomApiResult;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import tqq9.lc123.cloud.app.api.model.FWInvQueryModel;
|
|
import tqq9.lc123.cloud.app.api.result.FWInvQueryResult;
|
|
|
|
import java.math.BigDecimal;
|
|
import java.util.*;
|
|
|
|
import static org.apache.batik.svggen.SVGStylingAttributes.set;
|
|
|
|
@ApiController(value = "FWInvQueryController", desc = "泛微查询库存接口")
|
|
public class FWInvQueryController {
|
|
|
|
@ApiPostMapping(value = "/FWInvQuery", desc = "泛微查询物料库存api接口")
|
|
public CustomApiResult<FWInvQueryResult> invQuery
|
|
(@NotNull @ApiParam(value = "入参", example = "") FWInvQueryModel model) {
|
|
FWInvQueryResult resultExt = new FWInvQueryResult();
|
|
List<FWInvQueryResult.ResultBean> resultBeanList = new ArrayList<>();
|
|
int failCount = 0;//失败数量
|
|
|
|
List<FWInvQueryModel.QueryModel> queryModels = model.getQueryModels();
|
|
for (FWInvQueryModel.QueryModel queryModel : queryModels) {
|
|
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});
|
|
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);
|
|
}
|
|
}
|
|
|
|
resultExt.setFailCount(failCount);
|
|
resultExt.setSuccessCount(queryModels.size() - failCount);
|
|
resultExt.setResult(resultBeanList);
|
|
return CustomApiResult.success(resultExt);
|
|
|
|
}
|
|
|
|
}
|