单据参数控制 - IShare

单据参数控制

插件挂载位置:表单(提前配置单据参数)

示例:

package kd.yfsw.cellsave.contract;

import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import java.math.BigDecimal;
import java.util.List;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.servicehelper.parameter.SystemParamServiceHelper;
import kd.yfsw.util.CommonUtil;
import java.util.List;
import java.util.stream.Collectors;

public class IsOrgContractinit extends AbstractFormPlugin {
    @Override
    public void propertyChanged(PropertyChangedArgs e) {

            DynamicObject org = (DynamicObject) this.getModel().getValue("org");
            DynamicObjectCollection billParameter = (DynamicObjectCollection) SystemParamServiceHelper.getBillParameter("yfsw_dcxys", "yfsw_entryentity");
            List<DynamicObject> rows = billParameter.stream().filter(prop -> getOrgEntryRow(prop, org)).collect(Collectors.toList());
            if (rows.size()>0) {
                DynamicObject row = rows.get(0);
                if (!row.getBoolean("yfsw_checkboxfield1")) {
                    this.getView().showErrorNotification("单据参数中当前组织的电子合同集成未配置!");
                }
            }
            this.getView().updateView();

    }
    private boolean getOrgEntryRow(DynamicObject row,DynamicObject org){
        DynamicObject company = row.getDynamicObject("yfsw_companies");
        Long companyId = company.getLong("id");
        Long orgId = org.getLong("id");
        if (companyId.compareTo(orgId)==0){
            return true;
        }
        return false;
    }
}

1

无标签
打赏
评论区
头像
    头像
    vxwryuhdjk
    2025年1月6日 14:25
    回复

    哈哈哈,写的太好了https://www.lawjida.com/