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之MrpUI
package com.kingdee.eas.custom.mrp.client; import java.awt.Component;import java.awt.event.*;import ...
- 金蝶EAS BOS上如何打补丁
主要分为2种方式,直接通过BOS管理平台,去安装补丁 另一种方式就是通过本地zip压缩包去打补丁,以我的安装目录包为例路径为:E:\kingdee\kingserver\eas\admin\patch ...
- EAS使用中FineUI的配置
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSec ...
- eas bos 编辑界面 editUIt 属性值为空
在编辑界面,我们可以正常的保存某个值到数据库,同时列表界面也可以正常显示. 但是当我们再次打开这个编辑界面的时候,该属性值缺无法显示. 通常情况下,通过下面两个方法可以解决 方法一: 在编辑界面重写一 ...
- EAS组件编辑和显示的自定义
KDFormattedTextField kdtEntrys_returnAmount_TextField = new KDFormattedTextField(); kdtEntrys_return ...
- EAS(学生管理系统)初建
一.确定开发使用的技术 本次开发EAS示例网站,使用Servlet+JSP+MySQL技术,其中包括使用bootstrap工具完成简易前端页面设计.所有数据实体与数据关系皆用数 ...
- 金蝶CLOUD与EAS的区别
1.金蝶K/3 WISE主要面向单体制造企业(主要是离散制造企业):2.金蝶K/3 Cloud主要面向业务类型单一(即主营业务单一)的.注重供应链与生产业务协同的.中小型(二层集团??)集团性企业(主 ...
- EAS开发环境搭建.
一:EAS开发环境安装 解压EAS服务器安装包到E盘即可,内含BOS开发环境. 二:EAS客户端安装 EAS8.0.exe安装到D盘,这是客户端. 三:远程数据库 使用远程运维系统,登陆数据库.
- EAS 最大单据号获取
BaseService using System; using System.Collections.Generic; using System.Linq; using System.Text; us ...
随机推荐
- Spring MVC-集成(Integration)-集成LOG4J示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_log4j.htm 说明:示例基于Spring MVC 4.1.6. 以下示例说明 ...
- .Net程序猿玩转Android开发---(6)线性布局LinearLayout
LinearLayout控件是Android中重要的布局控件,是一个线性控件,所谓线性控件的意思是指该控件里面的内容仅仅能水平或垂直排列.也就 ...
- Spring 新手教程(三) 注入和自己主动装配
Spring注入是指在启动Spring容器载入bean配置的时候.对类变量的赋值. 两种经常使用注入方式:设值注入和构造注入 以下就这部分知识看代码以及代码中的注解: 1.首先看Spring ...
- Thrift源代码分析(八)--总结加一个完整的可执行的Thrift样例
前面七篇文章分析了Thrfit的方方面面,看到这里时应该对Thrift有了深入的理解. Thrift源代码分析(一)-- 基本概念 Thrift源代码分析(二)-- 协议和编解码 Thrift源代码分 ...
- Java 递归、尾递归、非递归、栈 处理 三角数问题
import java.io.BufferedReader; import java.io.InputStreamReader; //1,3,6,10,15...n 三角数 /* * # 1 * ## ...
- c#面试题总结
using System; class A { public A() { PrintFields(); } public virtual void PrintFields(){} } class B: ...
- C# WinForm小程序(技术改变世界-cnblog)
WinForm小程序(技术改变世界-cnblog) 需求: 1.点击按钮 更新 当前时间 2.输入 身份证,必须身份证 排序(类似银行卡那样的空格),自动生成空格排序 3.实现 必须按 第一个按 ...
- [NOI 2003] 逃学的小孩
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1509 [算法] 树的直径 [代码] #include<bits/stdc++. ...
- 两个向量之间的欧式距离及radial-basis-functions(RBF)
template <class DataType1, class DataType2>double EuclideanDistance(std::vector<DataType1&g ...
- 联想Thinkpad L460安装Win7 64位
单位发了L460,自带的系统为win10,但是涉及到很多工作以及客户都是在win7环境下,所以必须安装win7的系统,经过一番折腾,终于装好了. 主要顺序如下: 1,制作WINPE启动盘,如大白菜,老 ...