76 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Java
		
	
	
	
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;
 | 
						|
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<>();
 | 
						|
//        List<List<FWInvQueryResult.ResultBean>> resultBeanList = new ArrayList<>();
 | 
						|
        int failCount = 0;//失败数量
 | 
						|
 | 
						|
        List<FWInvQueryModel.QueryModel> queryModels = model.getQueryModels();
 | 
						|
        for (FWInvQueryModel.QueryModel queryModel : queryModels) {
 | 
						|
//            List<FWInvQueryResult.ResultBean> resultBeans = new ArrayList<>();
 | 
						|
            String materialNumber = queryModel.getMaterialNumber();
 | 
						|
            String lot = queryModel.getLot();
 | 
						|
            QFilter qf1 = new QFilter("material.number", QCP.equals, materialNumber);
 | 
						|
            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){
 | 
						|
                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);
 | 
						|
        resultExt.setSuccessCount(queryModels.size() - failCount);
 | 
						|
        resultExt.setResult(resultBeanList);
 | 
						|
        return CustomApiResult.success(resultExt);
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
}
 |