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' ";
    }
}
相关推荐
小江的记录本3 小时前
【MyBatis-Plus】MyBatis-Plus的核心特性、条件构造器、分页插件、乐观锁插件
java·前端·spring boot·后端·sql·tomcat·mybatis
小张会进步3 小时前
数组:二维数组
java·javascript·算法
光影少年3 小时前
如何进行前端性能优化?
前端·性能优化
vx-程序开发3 小时前
springboot在线装修管理系统-计算机毕业设计源码56278
java·c语言·spring boot·python·spring·django·php
大傻^3 小时前
Spring AI Alibaba 可观测性实践:AI应用监控与链路追踪
java·人工智能·后端·spring·springaialibaba
Dxy12393102163 小时前
js如何把字符串转数字
开发语言·前端·javascript
云烟成雨TD3 小时前
Spring AI Alibaba 1.x 系列【1】阿里巴巴 AI 生态
java·人工智能·spring
诗人不写诗3 小时前
spring是如何组织切面的
java·后端·spring
爱写bug的野原新之助3 小时前
爬虫之补环境:加载原型链
前端·javascript·爬虫