98 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.0 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.Date;
 | |
| 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 producedate
 | |
|      * @param expirydate
 | |
|      * @param isauto
 | |
|      * @return
 | |
|      */
 | |
|     public static DynamicObject[] materialMatchGoods(String materialNumber, String lotNumber, Date producedate, Date expirydate, 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_entry.producedate", "=", producedate);
 | |
|         QFilter f4 = new QFilter("tqq9_entry.expirydate", "=", expirydate);
 | |
|         QFilter f5 = new QFilter("tqq9_isauto", "=", isauto);
 | |
|         DynamicObject[] goodsA = null;
 | |
|         if(isauto){
 | |
|             // 只取自动封装的商品
 | |
|             goodsA = BusinessDataServiceHelper.load("tqq9_goodspackage",
 | |
|                     "id,number,name,tqq9_mater.baseunit,tqq9_mater.modelnum,tqq9_isauto",
 | |
|                     new QFilter[]{f1, f2, f3, f4, f5});
 | |
|         }else{
 | |
|             // 取所有的商品
 | |
|             goodsA = BusinessDataServiceHelper.load("tqq9_goodspackage",
 | |
|                     "id,number,name,tqq9_mater.baseunit,tqq9_mater.modelnum,tqq9_isauto",
 | |
|                     new QFilter[]{f1, f2, f3, f4});
 | |
|         }
 | |
|         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;
 | |
|     }
 | |
| 
 | |
| }
 |