eas之kingdeeUtils

 

    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;
    }
    }
 
posted @ 2019-06-02 17:20  一条有梦想的海洋咸鱼  阅读(678)  评论(0编辑  收藏  举报