43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Java
		
	
	
	
| package tqq9.lc123.cloud.app.api.plugin;
 | |
| 
 | |
| import kd.bos.dataentity.entity.DynamicObject;
 | |
| import kd.bos.logging.Log;
 | |
| import kd.bos.logging.LogFactory;
 | |
| import kd.bos.openapi.api.plugin.ApiSavePlugin;
 | |
| import kd.bos.orm.query.QCP;
 | |
| import kd.bos.orm.query.QFilter;
 | |
| import kd.bos.servicehelper.BusinessDataServiceHelper;
 | |
| 
 | |
| import java.util.HashMap;
 | |
| import java.util.List;
 | |
| import java.util.Map;
 | |
| 
 | |
| /**
 | |
|  * 单据操作插件
 | |
|  */
 | |
| public class CostAdjustSavePlugin implements ApiSavePlugin   {
 | |
|     private final static Log logger = LogFactory.getLog(CostAdjustSavePlugin.class);
 | |
| 
 | |
|     @Override
 | |
|     public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
 | |
|         for (Map<String, Object> reqDatum : reqData) {
 | |
|             List<Map<String, Object>> entryentity = (List<Map<String, Object>>) reqDatum.get("entryentity");
 | |
|             for (Map<String, Object> entryMap : entryentity) {
 | |
|                 HashMap material = (HashMap)entryMap.get("material");
 | |
|                 String number = material.get("number").toString();
 | |
|                 DynamicObject bd_material = BusinessDataServiceHelper.loadSingle("bd_material", new QFilter[]{new QFilter("number", QCP.equals, number)});
 | |
|                 String baseunit_number = bd_material.getString("baseunit.number");
 | |
|                 HashMap<String, String> baseunit = new HashMap<>();
 | |
|                 baseunit.put("number", baseunit_number);
 | |
|                 entryMap.put("baseunit",baseunit);
 | |
|             }
 | |
|             reqDatum.put("entryentity", entryentity);
 | |
|         }
 | |
|         return ApiSavePlugin.super.preHandleRequestData(reqData);
 | |
| 
 | |
|     }
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| } |