- 浏览: 518863 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
u011165335:
distinct不影响使用半连接
(转)关于semi-join/anti-join的一点探讨 -
353790060:
redo 记录事务执行后的日志 undo 记录事务回滚的日志 ...
Oracle redo与undo浅析 -
jayxigua:
redo用于在失败时重放事务(即恢复事务),undo则用于取消 ...
Oracle redo与undo浅析 -
aa_qq110:
Openbravo有中文包吗
Openbravo开发手册 -
iocaop:
不错,写的很清晰易懂
JAVA 服务提供者框架介绍
由于Openbravo自带的导入功能 不能够导入商品价格和库存。所以就只能我们手工导入了。
一. 导入商品价格
1.首先得新建一个excel表格,里面包含了商品编号(在ob里面对应搜索关键字)和价格这2列。示例参考附件1
2.利用java操作excel表格工具读取这个excel表格,核心代码如下:
public static List<ProductInfo> readProductInfo ()throws Exception{ //新建一个文件 java.io.File newFile = new File("C:\\Users\\Administrator\\product.xls"); //创建只读的Excel工作薄的对象 jxl.Workbook rw = jxl.Workbook.getWorkbook(newFile); //创建可写入的Excel工作薄对象 jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(newFile, rw); //读取第一张工作表 jxl.write.WritableSheet ws = wwb.getSheet(0); //获得最早的空行 int rowId = 3; //商品列表 List<ProductInfo> productList = new java.util.LinkedList<ProductInfo>(); while(true){ Cell example = ws.getCell(0, rowId); if(example instanceof jxl.biff.EmptyCell ){ System.out.println("找到第一个空行!"); break; }else{ ProductInfo pi = new ProductInfo(); //读取商品 Cell productId = ws.getCell(0, rowId); pi.setProduct_id(productId.getContents()); Cell priceList = ws.getCell(1, rowId); pi.setList_price(Double.parseDouble(priceList.getContents())); productList.add(pi); } rowId++; } //写入Excel工作表 wwb.write(); //关闭Excel工作薄对象 wwb.close(); return productList; }
3. 将读取到的价格信息 循环导入OB。核心代码如下:
public static void modify(List<ProductInfo> pl){ Connection conn = ConnectOracle.getConn(); try{ Statement stmt = conn.createStatement(); //获得商品信息主键 for(int i=0;i<pl.size();i++){ ProductInfo pi = pl.get(i); String hql = "select m_product_id from m_product where value='"+pi.getProduct_id()+"'"; ResultSet rs = stmt.executeQuery(hql); if(rs.next()){ pi.setProduct_id(rs.getInt("m_product_id")+""); }else{ System.out.println("错误"); pl.remove(i); i--; } } //修改价格 for(int j=0;j<pl.size();j++){ ProductInfo pi = pl.get(j); String hql22 = "select * from m_productprice t where t.ad_client_id='1000000' and t.M_PRICELIST_VERSION_ID" + "='1000002' and t.M_PRODUCT_ID='"+pi.getProduct_id()+"'"; ResultSet rs = stmt.executeQuery(hql22); if(rs.next()){ continue; } String hql = "insert into m_productprice (M_PRICELIST_VERSION_ID,M_PRODUCT_ID,AD_CLIENT_ID,AD_ORG_ID" + ",CREATEDBY,UPDATEDBY,PRICESTD) values (1000002," +pi.getProduct_id()+",1000000,0,1000000,1000000,"+pi.getList_price()+")"; stmt.executeUpdate(hql); System.out.println("aaa "+pi.getProduct_id()); } conn.close(); }catch(Exception e){ e.printStackTrace(); } }
二. 导入商品库存信息
1.首先得新建一个excel表格,里面包含了商品编号(在ob里面对应搜索关键字)和库存数量这2列。示例参考附件2
2. 利用java读取这个excel文件,代码与读取上面的价格类似。
3. 将读取到的价格信息 循环导入OB。核心代码如下:
public static void modify(List<StockInfo> ls){ Connection conn = ConnectOracle.getConn(); try{ Statement stmt = conn.createStatement(); int id = 5500001; //修改库存 for(int j=0;j<ls.size();j++){ StockInfo si = ls.get(j); String hql ="insert into M_STORAGE_DETAIL (M_PRODUCT_ID,M_LOCATOR_ID,C_UOM_ID" + ",QTYONHAND,AD_CLIENT_ID,AD_ORG_ID,CREATEDBY," + "UPDATEDBY,M_STORAGE_DETAIL_ID) values("+si.getProduct_id()+",1000000,100,100,1000000,0,1000000,1000000,"+id+")"; id++; stmt.executeUpdate(hql); System.out.println("bbbb"); } conn.close(); }catch(Exception e){ e.printStackTrace(); } }
在这里 偷了一下懒。库存表里面的主键应该是需要调用存储过程来生产的。这里直接自定义了,需要注意这一点,这是非常不好的做法。
发表评论
-
Openbravo 论坛
2014-03-12 20:55 67大家好, 新开了一 ... -
Openbravo与淘宝对接文档二
2014-01-01 17:49 4088这篇文章介绍消息服务的使用 1. 登陆沙箱用户 ... -
openbravo与淘宝对接文档一
2013-12-31 21:53 1901首先进入沙箱首页:http://www.tbsandbox ... -
How to automatically populate search keys
2013-05-20 21:13 1002Introduction Search keys are ... -
How to create an Alert
2013-05-12 22:24 1256Objective The objective of t ... -
Openbravo 如何给窗口添加新字段
2012-12-17 21:04 1420以薪资表为例,假设我们现在有生效日期,还没有失效日期,支付时 ... -
Openbravo3.0 服务端技术--数据访问层(Data Access Layer)
2012-10-24 23:46 1939Data Access Layer(DAL)描述 ... -
Openbravo3.0 客户端代码开发与API
2012-10-04 18:13 2552一. 客户端代码开发工具 ... -
Openbravo3.0 体系结构
2012-08-29 22:14 5449在Openbravo 3.0中,我 ... -
Openbravo3.0 组织机构设置介绍
2012-06-24 17:31 2627一. 简要介绍 ... -
Openbravo3.0 用户操作界面介绍
2012-06-12 22:57 1788一. Openbravo3.0 新颖特征介绍 ... -
Openbravo3.0 怎样新建一个窗口
2012-03-15 21:28 2609一.需求背景 假设我们在开发一个人力资源模 ... -
Openbravo3.0与Eclipse集成简介
2012-01-07 22:30 3561... -
Openbravo 3.0 销售管理组织机构消失问题
2011-06-09 18:43 1075请参考如下文章: http://wiki.openbravo ... -
Openbravo 3.0汉化包
2011-05-26 22:30 8135附件有openbravo3.0的汉化包下载,不过不完 ... -
Openbravo ERP 3.0安装指南
2011-05-22 16:21 20286Openbravo ERP 3.0已经发布有一段时间 ... -
Openbravo 窗口字段自定义
2011-05-19 16:00 1469假如openbravo的添加产品页面有很多字段,我 ... -
Openbravo ERP 定制菜单
2011-05-10 12:15 1715一. 删除菜单节点 1.点击 ... -
Openbravo ERP 通过数据字典定制属性
2011-04-29 11:13 2077有些时候,openbravo并不 ... -
OB汉化包
2010-09-08 12:01 1301上传一个OB2.4汉化包,供日后下载。
相关推荐
最新中文版openbravopos2.30 新增扩展: 1)商品销售时的权限(及高级权限) 2)时间片库存管理(用于盘点的目的 3)各种单据自定 4)快速单据编辑器 5)商品BOM关联 修改项: 1)将现金账按用户名生成(以便交接班管理 ...
《OpenbravoPOS 2.3汉化包详解与应用》 OpenbravoPOS,全称为Openbravo Point of Sale,是一款开源的销售点管理软件,专为零售业设计,旨在提供灵活、高效且易用的销售解决方案。2.3版本的汉化包是针对中国用户特别...
Openbravo 3 30.3 中文汉化包是一个专门为Openbravo企业资源计划系统(ERP)设计的语言转换工具,旨在为中文用户提供更友好的界面和操作体验。Openbravo是一个开源的ERP解决方案,它涵盖了财务管理、供应链管理、...
Openbravo数据库关系表
- **表单**:用于数据输入、修改或删除的手工制作窗口,与标准窗口相比更加灵活。 - **MVC 架构**:模型-视图-控制器模式,用于分离数据、用户界面和控制逻辑。 - **模型**:由Openbravo的SqlC实现,负责数据管理...
openbravoPOS 实操 底层数据库写入逻辑 业务推测
Openbravo_ERP 的中文介绍,帮你快速走入 Openbravo_ERP 的世界
Openbravo 3.0 会计文件,适用与openbravo 3.x所有版本
Openbravo erp 实施笔记
经验证openbravo 2.5mp8 ,2.4都可成功导入。
这些接口使得 Openbravo ERP 能够与零售终端系统、商业智能系统、网上商店系统甚至是税务系统进行无缝连接,形成一个完整的信息生态系统。 ##### 2.5 适应个性化需求的插件体系 Openbravo ERP 的插件体系非常灵活...
- **方法 WebService**:描述了如何通过 Web Service 方式与 Openbravo ERP 进行交互。 **7.3 启动 OB 的 Webservice 功能** - **配置**:说明了如何启用和配置 Web Service 功能。 - **安全性**:讨论了 Web ...
Openbravo数据库的pdm图,使用PowerDseigner打开,可以作为数据库设计或者ERP研究之用
openbravo 配置工具 用来配置openbravo.properties文件
openbravo 货币汉化,最新的Openbravo汉化包
与openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关...
开源ERP OpenBravo的数据库关系图。
Openbravoerp实施笔记.pdf