栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

金蝶插件开发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

金蝶插件开发

1、报表开发

报表开发需要表头表体两个插件,表头继承AbstractReportFormPlugin类,表体继承AbstractReportListDataPlugin类,其中列表的数据需要显示,则主要靠的是AbstractReportListDataPlugin子类实现query()方法,返回值为datasate类型,将查出来的值显示在报表查询的列表上

1.1、表头插件的书写规范:

表头插件只要继承AbstractReportFormPlugin就可以,里面可以不用写任何东西,但是必须得有,注册位置:(可以写多个插件)可以控制报表过滤控件里面的字段和工具栏里面的按钮

 1.2、列表插件的书写规范:

继承AbstractReportListDataPlugin类,同时需要实现 query() 方法,返回值为DataSet类型,返回的数据名称和列名一致,显示在列表上面,注册位置:(一个报表只有一个列表插件,用来给列返回数据)

 列表插件示例:

import kd.bos.algo.DataSet;
import kd.bos.algo.Row;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.report.AbstractReportListDataPlugin;
import kd.bos.entity.report.FilterItemInfo;
import kd.bos.entity.report.ReportQueryParam;
import cn.hutool.core.util.ObjectUtil;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.QueryServiceHelper;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;


public class FormStudyPlugin  extends AbstractReportListDataPlugin {
    
    private final String[] fields = new String[]{"goods_id",  "amount", "order_no", "tax_amount"};

    
    @Override
    public DataSet query(ReportQueryParam reportQueryParam, Object o) throws Throwable {
        List filterItems =  reportQueryParam.getFilter().getFilterItems();
        DataSet dataSet =null;
        Date start_time = null;
        Date end_time = null;
        Long goods_id= null;

        for(FilterItemInfo filter :filterItems){
            switch (filter.getPropName()){
                
                case "rm_createtime":
                    Date createtime  = (Date)filter.getValue();
                    if(ObjectUtil.isNotNull(createtime)){
                        start_time = createtime;
                    }
                    break;
                
                case "rm_endtime":
                    Date  endtime  = (Date)filter.getValue();
                    if(ObjectUtil.isNotNull(endtime)){
                        end_time = endtime;
                    }
                    break;
                
                case "rm_goods_id":
                    DynamicObject goodsId  = (DynamicObject)filter.getValue();
                    if(ObjectUtil.isNotNull(goodsId)){
                        Object o1 =  goodsId.getPkValue();
                        int q =1;
                        goods_id = (Long) goodsId.getPkValue();
                    }
                    break;
            }
        }
        QFilter qFilter = new QFilter("rm_sc_pur_in_dtl.goods_id",QCP.equals,goods_id);
        DataSet dataSet1 =QueryServiceHelper.queryDataSet(this.getClass().getName(),
                "rm_sc_pur_in",
                "rm_sc_pur_in_dtl,billno,rm_sc_pur_in_dtl.goods_id,rm_sc_pur_in_dtl.qty",
                qFilter.toArray(),
                null);

        
        if(start_time !=null && end_time != null ){
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String start = simpleDateFormat.format(start_time);
            String end = simpleDateFormat.format(end_time);
//            QFilter filter = new QFilter("rm_sc_pur_in_dtl.manu_date", QCP.large_equals,start);
//            filter.and("rm_sc_pur_in_dtl.manu_date", QCP.less_equals,end);
            QFilter filter = new QFilter("rm_sc_pur_in_dtl.goods_id", QCP.equals,goods_id);
            if(goods_id != null){
//                QFilter filter = new QFilter("rm_sc_pur_in_dtl.goods_id", QCP.equals,goods_id);
            }
            dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(),
                    "rm_sc_pur_in",
                    "rm_sc_pur_in_dtl,rm_sc_pur_in_dtl.goods_id  as "+fields[0]+
                              ",rm_sc_pur_in_dtl.amount as "+fields[1]+ ",rm_sc_pur_in_dtl.order_no as "+fields[2]+",rm_sc_pur_in_dtl.tax_amount as "+fields[3]
                    ,filter.toArray(),
                    null);

        }
        return dataSet;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/697020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号