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. Spring MVC-控制器(Controller)-可参数化视图控制器(Parameterizable View Controller )示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_parameterizableviewcontroller.htm 说明:示例基于 ...

  2. windows与linux下配置ant

    转自:http://www.cnblogs.com/wuxinrui/archive/2012/01/06/2314392.html 1.下载:到ANT官方网站http://ant.apache.or ...

  3. SSH整合开发时Scope为默认时现象与原理

    1.前提知识 1)scope默认值 进行SSH整合开发时,Struts2的action须要用spring容器进行管理,仅仅要涉及到类以bean的形式入到spring容器中.无论是xml配置还是使用注解 ...

  4. Shredding Company (hdu 1539 dfs)

    Shredding Company Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  5. 1+2+3+...+n不能用while、for、if else等实现

    问题描写叙述 求 1+2+ - +n ,要求不能使用乘除法. for . while . if . else . switch . case 等keyword以及条件推断语句. 实际意义不大,题目涉及 ...

  6. hdu1325 Is It A Tree?(二叉树的推断)

    Is It A Tree? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  7. unity中 拖拽随意的对象

    孙广东   2015.8.16 目的 :  我们能简单的通过 鼠标位置 得到目标对象  假设没有使用刚体组件 Step - 1: 在3D项目中设置场景.  一个空对象命名为: DragAndDrop ...

  8. 深入浅出时序数据库之预处理篇——批处理和流处理,用户可定制,但目前流行influxdb没有做

    时序数据是一个写多读少的场景,对时序数据库以及数据存储方面做了论述,数据查询和聚合运算同样是时序数据库必不可少的功能之一.如何支持在秒级对上亿数据的查询分组聚合运算成为了时序数据库产品必须要面对的挑战 ...

  9. 用JS将指定时间转化成用户当地时区的时间

    公司的项目是面向海外用户的,但是最初的设计没考虑到时差问题,存入数据库的时间都是东八区的时间,导致现在补救有点坑爹...... 有一个需求是,产品详细页需要注明此款产品的开售时间,当海外的用户来访问这 ...

  10. PCB MS SQL 排序应用(row_number rank dense_rank NTILE PARTITION)

    一.排序前,准备数据 --表变量 ),流程数 int) insert into @table union all union all union all union all --查看一下 select ...