NC BIP参照开发

BIP参照开发

全局人员参照

前端开发

js 复制代码
import { high } from 'nc-lightapp-front';
import { conf as unitConf } from '../../../../uap/refer/riart/groupTreeRef/index';

const { Refer } = high;

export var conf = {
  refType: 'gridTree',
  refName: '全局人员',
  placeholder: '全局人员',
  columnConfig: [
    { 
      name: ["编码", "名称", "部门", "组织"], 
      code: ["bd_psndoc.code", "bd_psndoc.name", "org_dept.name", "org_orgs.name"] 
    }
  ],
  queryGridUrl: '/nccloud/hrhi/ref/GLBPsndocGridRefAction.do',
  queryTreeUrl: '/nccloud/hrhi/ref/GLBPsndocTreeRefAction.do',
};

export default function (props = {}) {
  return <Refer {...Object.assign({}, conf, props)} />;
}

后端开发

java 复制代码
public class GLBPsndocTreeRefAction extends DefaultTreeRefAction {
    public GLBPsndocTreeRefAction() {
        super();
        //设置默认不显示被停用数据
        setShowDisabledData(false);
        //设置数据权限资源code
        setResourceCode(IOrgResourceCodeConst.ORG);
    }

    @Override
    public TreeRefMeta getRefMeta(RefQueryInfo refQueryInfo) {
        TreeRefMeta treeRefMeta = new TreeRefMeta();
        treeRefMeta.setPkField(OrgVO.PK_ORG);
        treeRefMeta.setPidField(OrgVO.PK_FATHERORG);
        treeRefMeta.setCodeField(OrgVO.CODE);
        treeRefMeta.setNameField(OrgVO.NAME);
        treeRefMeta.setMutilLangNameRef(false);
        treeRefMeta.setTableName(OrgVO.getDefaultTableName());
        return treeRefMeta;
    }

    @Override
    public String getExtraSql(RefQueryInfo refQueryInfo, RefMeta refMeta) {
        return " and isbusinessunit = 'Y'";
    }

}

public class GLBPsndocGridRefAction extends DefaultGridRefAction {

    public GLBPsndocGridRefAction() {
        this.setResourceCode("org");
    }

    public RefMeta getRefMeta(RefQueryInfo info) {
        RefMeta meta = new RefMeta();
        meta.setMutilLangNameRef(false);
        meta.setExtraFields(new String[]{"bd_psndoc.pk_psndoc", "bd_psndoc.code", "bd_psndoc.name", "org_orgs.name", "org_dept.name"});
        meta.setCodeField("bd_psndoc.code");
        meta.setNameField("bd_psndoc.name");
        meta.setPkField("bd_psndoc.pk_psndoc");
        String sql = " bd_psndoc INNER JOIN bd_psnjob ON bd_psndoc.pk_psndoc = bd_psnjob.pk_psndoc AND bd_psnjob.ismainjob = 'Y' and bd_psnjob.enddutydate is null  LEFT OUTER JOIN org_orgs ON org_orgs.pk_org = bd_psnjob.pk_org LEFT OUTER JOIN org_dept ON org_dept.pk_dept = bd_psnjob.pk_dept";
        meta.setTableName(sql);
        return meta;
    }

    public String getExtraSql(RefQueryInfo refQueryInfo, RefMeta refMeta) {
        String sql = "";
        if (refQueryInfo instanceof TreeRefQueryInfo) {
            TreeRefQueryInfo treeRefQueryInfo = (TreeRefQueryInfo)refQueryInfo;
            String pid = treeRefQueryInfo.getPid();
            if (StringUtils.isNotBlank(pid)) {
                sql = "and org_orgs.pk_org = '" + pid + "'";
            }
        }

        return sql;
    }
}

承运商参照

前端开发

js 复制代码
import { high } from 'nc-lightapp-front';
const { Refer } = high;

/**
 * 承运商基本信息-表型参照
 * @since 2026/02/10 11:03:38
 * @param {*} props 
 */
export default function (props = {}) {
    let config = {
        multiLang: {
            domainName: 'medpub',
            currentLocale: 'zh-CN',
            moduleId: 'refer_rg0_supplier'
        },
        refType: 'grid',
        refName: 'rg0_supplier_0001', /** 国际化处理:承运商基本信息 */
        placeholder: 'rg0_supplier_0001', /** 国际化处理:承运商基本信息 */
        IsMultiSelectedEnabled: true,
        columnConfig: [
            {
                code: [
					"refcode", 
					"refname",
				],
                name: [
					"rg0_supplier_0002", /** 国际化处理:编码 */
					"rg0_supplier_0003", /** 国际化处理:名称 */
				]
            }
        ],
        refCode: 'medpub.refer.SupplierGridRefer',
        queryGridUrl: '/nccloud/medpub/refer/SupplierGridRefAction.do'
    };

    return <Refer {...config} {...props} />
}

后端开发

java 复制代码
public class SupplierGridRefAction extends DefaultGridRefAction {

    public SupplierGridRefAction() {
        super();
    }

    @Override
    public RefMeta getRefMeta(RefQueryInfo refQueryInfo) {
        RefMeta refMeta = new RefMeta();
		
		// 参照主键字段
        refMeta.setPkField("pk_supplier");
		// 参照编码字段
        refMeta.setCodeField("code");
		// 参照名称字段
        refMeta.setNameField("name");
		// 参照额外字段,extraFields为设置时参照默认显示"编码"和"名称"俩字段
		refMeta.setExtraFields(new String[] {"code", "name"});
		
		refMeta.setTableName(getTableName());
		refMeta.setMutilLangNameRef(true);
        return refMeta;
    }
	
	private String getTableName() {
        return "bd_supplier";
    }

    @Override
    public String getExtraSql(RefQueryInfo refQueryInfo, RefMeta refMeta) {
        return " and iscarrier = 'Y' ";
    }
}
相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
小羊没烦恼!4 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
俊昭喜喜里4 天前
java中的继承和多态的区别
java
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
譕痕4 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码4 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖4 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商