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 invQuery (@NotNull @ApiParam(value = "入参", example = "") FWInvQueryModel model) { FWInvQueryResult resultExt = new FWInvQueryResult(); List resultBeanList = new ArrayList<>(); int failCount = 0;//失败数量 List 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); } }