lc/lc123/cloud/app/plugin/utils/BaseDataMatchUtils.java

84 lines
2.5 KiB
Java

package tqq9.lc123.cloud.app.plugin.utils;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import org.apache.poi.util.ArrayUtil;
import scala.Dynamic;
import java.util.ArrayList;
import java.util.List;
/**
* 基础数据匹配查询
*/
public class BaseDataMatchUtils {
/**
* 根据商品编码查询物料信息
* @param goodsNumber 商品编码
* @return
*/
public static DynamicObject goodsMatchMaterial(String goodsNumber){
QFilter f = new QFilter("number", "=", goodsNumber);
DynamicObject[] goodsArr = BusinessDataServiceHelper.load("tqq9_goodspackage", "id,number,name,tqq9_mater", new QFilter[]{f});
if(goodsArr != null && goodsArr.length > 0){
return goodsArr[0].getDynamicObject("tqq9_mater");
}
return null;
}
/**
* 根据物料编码查找对应商品
* @param materialNumber 物料编码
* @param lotNumber 批号
* @param isauto 是否自动封装的商品
* @return
*/
public static DynamicObject[] materialMatchGoods(String materialNumber, String lotNumber, boolean isauto){
QFilter f1 = new QFilter("tqq9_mater.number", "=", materialNumber);
QFilter f2 = new QFilter("tqq9_entry.tqq9_lot.number", "=", lotNumber);
QFilter f3 = new QFilter("tqq9_isauto", "=", isauto);
DynamicObject[] goodsA = BusinessDataServiceHelper.load("tqq9_goodspackage",
"id,number,name,tqq9_mater.baseunit,tqq9_mater.modelnum,tqq9_isauto",
new QFilter[]{f1, f2, f3});
if(goodsA != null && goodsA.length > 0){
List<DynamicObject> goodsList = new ArrayList<>();
for (DynamicObject goods : goodsA) {
goodsList.add(goods);
}
// 或预先分配大小(性能更优)
DynamicObject[] goodsArr = goodsList.toArray(new DynamicObject[goodsList.size()]);
return goodsArr;
}
return null;
}
/**
* 总仓匹配--外部仓库对应金蝶仓库
* @param wmsWhNumber 外部WMS系统仓库编码
* @return
*/
public static DynamicObject getKDWarehouse(String wmsWhNumber){
return null;
}
/**
* 总仓匹配--金蝶仓库查找对应的外部wms仓库编码
* @param kdWhNumber
* @return
*/
public static String getOutWarehouse(String kdWhNumber){
return null;
}
}