51 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Java
		
	
	
	
package tqq9.lc123.cloud.app.plugin.operate.pm;
 | 
						|
 | 
						|
import kd.bos.dataentity.entity.DynamicObject;
 | 
						|
import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
						|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
 | 
						|
import kd.bos.entity.plugin.args.BeforeOperationArgs;
 | 
						|
import kd.bos.logging.Log;
 | 
						|
import kd.bos.logging.LogFactory;
 | 
						|
import kd.bos.orm.query.QCP;
 | 
						|
import kd.bos.orm.query.QFilter;
 | 
						|
import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
						|
import kd.sdk.plugin.Plugin;
 | 
						|
import tqq9.lc123.cloud.app.plugin.utils.AutoFixLinkUtil;
 | 
						|
 | 
						|
import java.util.stream.Collectors;
 | 
						|
 | 
						|
/**
 | 
						|
 * 采购退货单保存操作插件
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
 | 
						|
public class PurRefundApplySaveOpPlugin extends AbstractOperationServicePlugIn implements Plugin {
 | 
						|
    private final static Log logger = LogFactory.getLog(PurRefundApplySaveOpPlugin.class);
 | 
						|
    private static String PM_PURREFUNDAPPLYBILL = "pm_purrefundapplybill";//采购退货申请单
 | 
						|
    private static String PM_PURORDERBILL = "pm_purorderbill";//采购订单
 | 
						|
    private static String billentry = "billentry";//分录标识
 | 
						|
 | 
						|
    @Override
 | 
						|
    public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
 | 
						|
        super.beforeExecuteOperationTransaction(e);
 | 
						|
        DynamicObject[] dataEntities1 = e.getDataEntities();
 | 
						|
        if(dataEntities1.length>0){
 | 
						|
            DynamicObject dynamicObject = dataEntities1[0];
 | 
						|
            DynamicObjectCollection billentry1 = dynamicObject.getDynamicObjectCollection("billentry");
 | 
						|
            if(billentry1.size()>0){
 | 
						|
                DynamicObject dynamicObject1 = billentry1.get(0);
 | 
						|
                String srcbillnumber = dynamicObject1.getString("srcbillnumber");
 | 
						|
                DynamicObject pm_purorderbill = BusinessDataServiceHelper.loadSingle(PM_PURORDERBILL, new QFilter[]{new QFilter("billno", QCP.equals, srcbillnumber)});
 | 
						|
                DynamicObjectCollection dynamicObjects = new DynamicObjectCollection();
 | 
						|
                dynamicObjects.add(pm_purorderbill);
 | 
						|
                dynamicObjects.stream().collect(Collectors.toList())
 | 
						|
;                AutoFixLinkUtil fixLinkHelp = new AutoFixLinkUtil();
 | 
						|
                fixLinkHelp.linkSourceRow(dynamicObject, dynamicObjects.stream().collect(Collectors.toList()), PM_PURREFUNDAPPLYBILL, billentry,"srcbillentryid",
 | 
						|
                        PM_PURORDERBILL, billentry,"","billentry_lk");
 | 
						|
            }
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
} |