import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.kingdee.bos.BOSException;
    import com.kingdee.bos.dao.IObjectPK;
    import com.kingdee.bos.dao.IObjectValue;
    import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
    import com.kingdee.bos.dao.query.SQLExecutorFactory;
    import com.kingdee.bos.framework.DynamicObjectFactory;
    import com.kingdee.bos.util.BOSObjectType;
    import com.kingdee.bos.util.BOSUuid;
    import com.kingdee.eas.tools.datatask.client.TemplateExport;
    import com.kingdee.jdbc.rowset.IRowSet;
    import com.kingdee.util.UuidException;
 
    /**
     * 常用金蝶工具类
     * @author luojiabao
     *
     */
    public class KingdeeUtils {
        /**
         * 执行SQL语句,对象装载为list
         * @throws BOSException
         * @throws SQLException
         */
        public static List<Object[]> executeSQL(String sql) throws BOSException, SQLException{
            List<Object[]> values=new ArrayList<Object[]>();
            IRowSet rs=SQLExecutorFactory.getRemoteInstance(sql).executeSQL();
            ResultSetMetaData rsmd=rs.getMetaData();
            while (rs.next()) {
                int count=rsmd.getColumnCount();
                Object[] objs=new Object[count];
                for (int i = 1; i < count; i++) {
                    objs[i-1]=rs.getObject(i);
                }
                values.add(objs);
            }
            return values;
        }
        /**
         * 返回一个数据
         * @param sql
         * @return
         * @throws SQLException
         * @throws BOSException
         */
        public static Object returnOneData(String sql) throws BOSException, SQLException{
            if(sql!=null&&!sql.equals("")){
                List<Object[]> list=executeSQL(sql);
                if(list.size()>0){
                    return list.get(0)[0];
                }else{
                    return null;
                }
            }
            return sql;
        }
    
    /**
     * 动态获取Info对象
     * @throws BOSException
     */
    public static IObjectValue getInfo(String id) throws BOSException{
        IObjectValue objValue=null;
        if(id!=null && !"".equals(id)){
            BOSUuid uuid=BOSUuid.read(id);
            IObjectPK pk = new ObjectUuidPK(uuid);
            objValue=DynamicObjectFactory.getRemoteInstance().getValue(uuid.getType(),pk);
        }
        return objValue;
    }
    
    /**
     * 动态单据操作-->删除
     * @param id
     * @return
     * @throws BOSException
     */
    public static boolean delete(String id){
        try {
            BOSUuid uuid=BOSUuid.read(id);
            DynamicObjectFactory.getRemoteInstance().delete(uuid.getType(),new ObjectUuidPK(uuid));
            return true;
        } catch (UuidException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (BOSException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
    
    /**
     * 动态单据操作 新增
     * @param bosType
     * @param objValue
     * @return
     */
    public static boolean addNew(BOSObjectType bosType,IObjectValue objValue){
        try {
            DynamicObjectFactory.getRemoteInstance().addnew(bosType, objValue);
            return true;
        } catch (BOSException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
    
    /**
     * 动态单据操作 更新
     * @param id
     * @param objectValue
     * @return
     */
    public static boolean update(String id,IObjectValue objectValue){
        BOSUuid uuid=BOSUuid.read(id);
        IObjectPK pk=new ObjectUuidPK(uuid);
        try {
            DynamicObjectFactory.getRemoteInstance().update(uuid.getType(),pk,objectValue);
            return true;
        } catch (BOSException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;    
    }
    
    /**
     * 导出模板
     * @param number
     * @param sheet
     * @param path
     * @return
     */
    public static boolean templateExport(String number,String sheet,String path){
        try {
            TemplateExport te=new TemplateExport(number,sheet);
            te.export();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
    }
 

eas之kingdeeUtils的更多相关文章

  1. eas之MrpUI

    package com.kingdee.eas.custom.mrp.client; import java.awt.Component;import java.awt.event.*;import ...

  2. 金蝶EAS BOS上如何打补丁

    主要分为2种方式,直接通过BOS管理平台,去安装补丁 另一种方式就是通过本地zip压缩包去打补丁,以我的安装目录包为例路径为:E:\kingdee\kingserver\eas\admin\patch ...

  3. EAS使用中FineUI的配置

    <?xml version="1.0" encoding="utf-8"?> <configuration> <configSec ...

  4. eas bos 编辑界面 editUIt 属性值为空

    在编辑界面,我们可以正常的保存某个值到数据库,同时列表界面也可以正常显示. 但是当我们再次打开这个编辑界面的时候,该属性值缺无法显示. 通常情况下,通过下面两个方法可以解决 方法一: 在编辑界面重写一 ...

  5. EAS组件编辑和显示的自定义

    KDFormattedTextField kdtEntrys_returnAmount_TextField = new KDFormattedTextField(); kdtEntrys_return ...

  6. EAS(学生管理系统)初建

    一.确定开发使用的技术             本次开发EAS示例网站,使用Servlet+JSP+MySQL技术,其中包括使用bootstrap工具完成简易前端页面设计.所有数据实体与数据关系皆用数 ...

  7. 金蝶CLOUD与EAS的区别

    1.金蝶K/3 WISE主要面向单体制造企业(主要是离散制造企业):2.金蝶K/3 Cloud主要面向业务类型单一(即主营业务单一)的.注重供应链与生产业务协同的.中小型(二层集团??)集团性企业(主 ...

  8. EAS开发环境搭建.

    一:EAS开发环境安装 解压EAS服务器安装包到E盘即可,内含BOS开发环境. 二:EAS客户端安装 EAS8.0.exe安装到D盘,这是客户端. 三:远程数据库 使用远程运维系统,登陆数据库.

  9. EAS 最大单据号获取

    BaseService using System; using System.Collections.Generic; using System.Linq; using System.Text; us ...

随机推荐

  1. What you can talk

    data buffer who locked the account hash join cost memory and nested loop do not. How to make it hash ...

  2. 解决vim粘贴时格式混乱的问题

    vim 粘贴时格式混乱的问题,是由于缩进导致的. --------------------------------------------------------------- 原文: http:// ...

  3. maven的启动类和MAVEN_OPTS参数

    maven的启动类和MAVEN_OPTS参数 在mvn.cmd的155行, set CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launc ...

  4. oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 本文出自[我是干勾鱼的博客] oracle中使用impdp数据泵导 ...

  5. effective C++ 读书笔记 条款11

    条款11: 在operator= 中处理"自我赋值" 在实现operator=时考虑自我赋值是必要的就像 x=y .我们不知道变量x与y代表的值是否为同一个值(把x和y说成是一个指 ...

  6. iOS-自己定义键盘选择器

    目标样式: 直接上代码: 遵守协议 <UIPickerViewDataSource,UIPickerViewDelegate> 实现方法 //创建 UITextField 设置setInp ...

  7. LeetCode 28 Divide Two Integers

    Divide two integers without using multiplication, division and mod operator. 思路:1.先将被除数和除数转化为long的非负 ...

  8. Too-Java:Intellij Idea

    ylbtech-Too-Java:Intellij Idea IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境.IntelliJ在业界被公认为最好的java开发工具之一,尤 ...

  9. HTML中常用的颜色词汇

    white (白色). black(黑色) . blue(蓝色) . green(绿色) .red(红色) .yellow(黄色) . pink(粉色).gray(灰色).brown(棕色). gre ...

  10. 【转】Postman接口测试之POST、GET请求方法

    转自竹小冉: https://www.cnblogs.com/zhuxr/p/9009708.html 一.基础知识 1.HTTP的五种请求方法:GET, POST ,HEAD,OPTIONS, PU ...