opentaps开发笔记

1.在ftl中调用服务

<#assign result=dispatcher.runSync("服务名",Static["org.ofbiz.base.util.UtilMisc"].toMap(key,value))>


2.在ftl中查询实体
<#assign statusItemGen=delegator.findByPrimaryKey("StatusItem",Static["org.ofbiz.base.util.UtilMisc"].toMap("statusId",facc.statusId?if_exists))>


3.在groovy中如何获取应用中的某个文件
fileUrl=new ComponentLocationResolver().resolveLocation("component://应用名/目录/");
file=new File(fileUrl.getPath()+文件名);


或者
String fileName="文件名";
String location="component:////应用名/目录/";
URL locationUrl=FlexibleLocation.resolveLocation(location+fileName);


4.jdbc查询
public BigDecimal getOrderReceivedPaymentTotal(String orderId) {
// String helperName = delegator.getGroupHelperName("org.ofbiz");
// Connection conn =null;
// Statement statement = null;
// ResultSet rs = null;
// BigDecimal db = null;
// try {
// conn = ConnectionFactory.getConnection(helperName);
// statement = conn.createStatement();
// statement.execute("SELECT sum(MAX_AMOUNT) FROM ORDER_PAYMENT_PREF_AND_PAYMENT where order_id='"+
// orderId+"' and status_Id='PAYMENT_RECEIVED' and paymentStatusId='PMNT_RECEIVED'");
// rs = statement.getResultSet();
// if(rs.next()) {
// db = rs.getBigDecimal(1);
// }
// } catch(Exception e) {
// System.out.println(e);
// } finally {
// try {
// if(rs != null) {
// rs.close();
// }
// if(statement != null) {
// statement.close();
// }
// if(conn != null) {
// conn.close();
// }
// } catch(Exception e) {
// System.out.println(e);
// }
// }
// return db;
// }


5.条件查询
exprList = [EntityCondition.makeCondition("partyId", EntityOperator.EQUALS, userLogin.partyId),
EntityCondition.makeCondition("shoppingListTypeId", EntityOperator.EQUALS, "SLT_WISH_LIST"),
EntityCondition.makeCondition("listName", EntityOperator.NOT_EQUAL, "Auto Suggestions")];
condition = EntityCondition.makeCondition(exprList, EntityOperator.AND);
allShoppingLists = delegator.findList("ShoppingList", condition, null, ["createdStamp DESC"], null, false);

例如查询一个时间段
exprList = [EntityCondition.makeCondition("createdByUserLogin", EntityOperator.EQUALS, userLogin.userLoginId),
EntityCondition.makeCondition("createdDate", EntityOperator.BETWEEN, [UtilDateTime.getDayStart(UtilDateTime.nowTimestamp()),UtilDateTime.getDayEnd(UtilDateTime.nowTimestamp())])];
condition = EntityCondition.makeCondition(exprList, EntityOperator.AND);
productPromoCodes=delegator.findByCondition("ProductPromoCode",condition,null,null);

多种条件的组合
exprList = [EntityCondition.makeCondition("statusId", EntityOperator.NOT_EQUAL, "PARTY_DISABLED")
, EntityCondition.makeCondition("statusId", EntityOperator.NOT_EQUAL, null)];
CondList = EntityCondition.makeCondition(exprList, EntityOperator.AND);
CondList1 = EntityCondition.makeCondition("statusId", EntityOperator.EQUALS, null);
statusPartyDisable = EntityCondition.makeCondition([CondList1, CondList], EntityOperator.OR);
entityConditionList = null;
if (prepareResult.entityConditionList != null) {
ConditionList = [ prepareResult.entityConditionList, statusPartyDisable ];
entityConditionList = EntityCondition.makeCondition(ConditionList);
} else if (context.noConditionFind == "Y") {
entityConditionList = statusPartyDisable;
}

6.读取配置文件
currencyUom = UtilProperties.getPropertyValue("general.properties", "currency.uom.id.default", "CNY");

7.对查询的结果过滤
supProduct = EntityUtil.filterByDate(supProduct, UtilDateTime.nowTimestamp(), "availableFromDate", "availableThruDate", true);

8.更新记录
GenericValue pref = delegator.findByPrimaryKey("OrderPaymentPreference", UtilMisc.toMap("orderPaymentPreferenceId", prefId));
pref.set("securityCode", securityCode);
pref.store();

9.distinct语句的查询
List<EntityCondition> conditionList = UtilMisc.toList(
EntityCondition.makeCondition("contactListId", EntityOperator.EQUALS, contactList.get("contactListId")),
EntityCondition.makeCondition("statusId", EntityOperator.EQUALS, "CLPT_ACCEPTED"),
EntityCondition.makeCondition("preferredContactMechId", EntityOperator.NOT_EQUAL, null),
EntityUtil.getFilterByDateExpr(), EntityUtil.getFilterByDateExpr("contactFromDate", "contactThruDate")
);
List<String> fieldsToSelect = UtilMisc.toList("infoString");

EntityCondition conditions = EntityCondition.makeCondition(conditionList, EntityOperator.AND);
List<GenericValue> sendToEmails = delegator.findByCondition("ContactListPartyAndContactMech", conditions, null, fieldsToSelect, null,
new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true));
开源企业级OPENTAPS综合解决方案完整文档 说了这么多技术细节,最后我想回归本质问题:我们为什么要用OPENTAPS?不是因为它免费,而是因为它开放。在这个算法垄断、数据孤岛横行的时代,OPENTAPS让我们重新掌握了对自己系统的控制权。你可以看到每一行代码,理解每一个流程,修改每一个配置。没有厂商锁定,没有升级陷阱,只有持续进化的可能性。它或许不适合所有企业,但对于那些追求技术自主、业务敏捷、成本可控的成长型组织来说,它是一条值得探索的路径。而这,也正是开源精神的真正魅力所在。✨。 阅读详情

相关推荐

完整Ofbiz中文技术文档与Opentaps开发指南

OFBiz使用一种基于XML的领域特定语言(DSL)来描述实体模型,称为。该语言结构清晰、语义丰富,能够精确表达数据库表结构、字段类型、索引、外键约束以及复杂的关联关系。一个典型的实体定义如下所示:</index></entity>首先,在目录下新建模块文件夹:然后在entitydef/目录中创建核心文件:</index></entity>接下来,在模块根目录添加注册该模块:最后,在中启用该模块:至此,模块已成功集成。

weixin_28931507的博客 480

Opentaps-Ofbiz架构分析

1

愚蠢的土拨鼠要变聪明的博客 1085

opentaps 结构分析

opentaps 结构分析,opentaps 开发源码分放结构及部分讲解

Opentaps开发入门指南

项目结构 opentaps每一个模块都是单独可拆卸的结构,通过xml文件进行配置。各个模块之间耦合度非常低,可以为不同的模块配置不同的数据源。 component-load.xml为总的配置文件,其中指定了本项目下包含的其他所有模块,这是其他模块加载的入口。 <load-component component-location="opentaps-common"/> <load-co

liumuchengquan的博客 5325

opentaps (from apache ofbiz) 架构图 (chart of architecture)

由于网络上的图片不是很清楚,重新整理并用visio画了一遍,希望能帮助到正在学习和了解opentaps或ofbiz的同学们。

OPENTAPS综合资料文档

opentaps 安装、部署、应用、操作说明

搭建Opentaps开发环境并改用MySQL数据库

搭建Opentaps开发环境并改用MySQL数据库 本文是以Eclipse为开发工具来搭建opentaps开发环境的,而不是简单的安装opentaps。文中全程使用Eclipse的工具搭建环境,而不会使用opentaps自带的命令行文件。文章会说明我自己的安装环境,如何使用MySQL创建opentaps的专有用户的数据库,如何修改opentaps中的配置文件,以及修复一个小bug,如何安装并运行opentaps,最后文章汇总了到目前为止我在安装过程中遇到的错误以及它们的解决办法。

teaandnoodle的专栏 5111

opentaps安装必读

这是opentaps的安装过程介绍,包括mysql安装与设置,jdk的安装

opentaps CRM/SFA 中文手册

CRM/SFA应用用途 CRM/SFA设计用于销售代表、销售经理、客户服务代表管理公司中销售和客户服务,主要功能: • 跟踪销售潜在客户 • 识别销售潜在客户并将此转换成客户 • 跟踪客户的联系 • 输入和跟踪商机的开始到结束 • 管理客户报价 • 创建和查看客户/联系人销售订单 • 生成销售预测 • 管理客户案例 (客服服务请求) • 发送电子邮件 • 管理活动和做过的工作...

overrun007的专栏 642

citespace基本操作

聚类分析 时间线图 这些结果都是高被引文献的相关呈现结果,代表该领域的文献基础 下面可以看看该project的前沿领域 选择keywords 和term go! 调整显示方式 生成凸线图:表示 在某个研究领域或者时间段内 ,大家对某个领域或者某个词的关注度突然增高,凸显前沿方向的转变 以此来发现热点 ...

生信小博士的博客 1万+

DBSCAN聚类算法——机器学习(理论+图解+python代码)

一、前言 二、DBSCAN聚类算法 三、参数选择 四、DBSCAN算法迭代可视化展示 五、常用的评估方法:轮廓系数 六、用Python实现DBSCAN聚类算法 一、前言 去年学聚类算法的R语言的时候,有层次聚类、系统聚类、K-means聚类、K中心聚类,最后呢,被DBSCAN聚类算法迷上了,为什么呢,首先它可以发现任何形状的簇,其次我认为它的理论也是比较简单易懂的。今年在python...

huacha__的博客 20万+

opentaps mysql_Opentaps安装小记

这周了解了个MES项目需求,于是乎找了些开源项目了解下,有php+mysql写的weberp,配置起来相当方便,下一版webERP_v4.13,往F:\Apache\htdocs\一放,启动F:\Apache\bin\httpd.exe ,访问127.0.0.1:8089/web-erp/index.php,按照指示一步步来即可,如果想来点demo数据,执行F:\Apache\htdocs\web...

weixin_28785681的博客 319

Windows: 深入剖析pip install SSLError与SSL模块缺失的根源及系统级修复

本文深入分析Windows系统下pip install SSLError与SSL模块缺失的根本原因,提供系统级修复方案。从Python安装包缺失SSL支持、OpenSSL库冲突到环境变量配置问题,详细讲解四大成因及对应的解决方案,包括重新安装Python、手动修复OpenSSL依赖等实用技巧,帮助开发者彻底解决HTTPS连接问题。

weixin_28595749的博客 459

Opentaps安装配置

Opentaps 1.5的版本要求:JDK1.6 , MySQL 5.1, 安装上5.5 则无法导入数据 5.5 使用engineer而不是table-type="InnoDB".1. 安装JDK1.6,设置JAVA_HOME2. 安装MYSQL5.1 ,设置默许编码utf-8,新建数据库opentaps,新建用户opentaps/opentaps;3. 更改opentaps/fram

txcooky的专栏 1877

医学图像处理(一)使用U-Net进行MRI的肝脏分割

医学图像处理(一)使用U-Net进行MRI的肝脏分割数据集搜集训练集和测试集划分问题一: 测试集不包括GroundTruth问题二:T1和T2的数据能一起训练吗?问题三: T1的图像在文件夹中分成了InPhase和OutPhase,这个有什么区别?分离出肝脏将dicom文件转换为png格式数据增强U-net网络搭建自定义DatasetMain.py实验结果总结 图像分割小白一枚,之前接到一个MRI图像肝脏分割的任务。对于医学图像分割,第一想到的就是Unet. Unet在2015的MICCAI上首次提出,在医

qq_34003876的博客 2万+

基于GPU的GEMM矩阵相乘运算优化

从上图中我们可以看到三种处理方法。第一种是将A和B矩阵分块,第二种方法是将C和B矩阵分块,第三种方法是将C和A矩阵分块。GEMM的子任务是GEPP或GEMP;最小粒度的任务是GEBP或GEPB或点乘。

weixin_55035144的博客 2157

Windows平台下安装Opentaps笔记

安装环境Windows 2003JDK6MySql5Opentaps1.5安装步骤1.进入MySql,创建数据库mysql> create database ofbiz;添加用户权限mysql> grant all on ofbiz.* to ofbiz@localhost identified by 'ofbiz';2.解压Opentaps到D:/Opentaps/目录,命令行进入该目录> cd D:/Opentaps & D:用ant安装OpentapsD:/Opentaps>ant run-insta

ctbinzi的专栏 5018

嵌入式开发必看:STM32 DMA双缓冲配置全攻略(含CubeMX教程)

本文详细解析了STM32 DMA双缓冲机制的原理与优势,并提供了基于CubeMX的完整配置教程。通过硬件自动切换两个缓冲区,实现DMA传输与CPU处理的真正并行,有效降低中断频率,提升高速数据采集、音频流处理等场景下的系统效率和实时性。

weixin_29212429的博客 174

Opentaps ERP+CRM 简介

opentaps 简介 opentaps 是开放源始码(OSS) 的 ERP 及 CRM 企业级应用平台专案, 带给您先进的特点和能量 层级1 ERP 和 CRM 软体, 以灵活性和可能提供归属低成本的唯一开放来源。您能使用 opentaps 作为选择对昂贵和死板不可自订的商业版本 ERP 替代解决方案, 作可为替换困难维护或延伸的组职内部的解答, 或作为一个起始点来改造您独特的商业模式和工作

dolphin_gx的专栏 2532

手把手教你用AFL挖掘C程序漏洞:从安装到实战(附常见错误排查)

本文详细介绍了如何使用American Fuzzy Lop (AFL)对C/C++程序进行模糊测试,从环境准备、目标程序插桩编译、初始语料库构建到实战运行与结果分析。重点讲解了AFL的安装、常见错误排查(如核心转储配置、执行速度优化)以及提升测试效率的高级策略(如持久模式、并行化),帮助开发者和安全工程师高效挖掘程序漏洞。

weixin_29014237的博客 408

光学测量仿真软件:Zygo_(5).Zygo的数据处理与分析方法

通过上述综合案例,我们可以看到Zygo中的数据处理与分析方法是如何一步一步应用于实际数据的。从数据导入到预处理,再到滤波、表面分析、缺陷检测和数据可视化,每一步都至关重要,最终确保了数据的准确性和可靠性。处理后的数据还可以导出为多种格式,便于在其他软件中进行进一步的处理或报告。希望这个案例能够帮助您更好地理解和应用Zygo中的数据处理与分析方法。

kkchenjj的博客 947

Debian5下安装Opentaps1.5笔记

<br />安装环境<br />Debian5<br />JDK6<br />MySql5<br />Opentaps1.5<br /> <br />安装步骤<br />1.解压Opentaps到/tmp/Opentaps目录,修改/tmp/Opentaps/framework/entity/config/entityengine.xml文件,将其中的<delegator name="default"...>段中的"datasource-name"从原来的"localderby"改为"localmysql"

ctbinzi的专栏 1911

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Opentaps安装小记

这周了解了个MES项目需求,于是乎找了些开源项目了解下,有php+mysql写的weberp,配置起来相当方便,下一版webERP_v4.13,往F:\Apache\htdocs\一放,启动F:\Apache\bin\httpd.exe , 访问127.0.0.1:8089/web-erp/index.php,按照指示一步步来即可,如果想来点demo数据,执行F:\Apache\htd...

127

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

开源企业ERP系统 Opentaps

opentaps Open Source ERP + CRM 基于 Apache OFBiz (The Open For Business Project ) 构建, 是一款设计良好, 逐渐流行起来的 CRM 系统。该项目难得之处是提供很多中文的文档。主要特性:1.提供一个全面的套件,让您可以360度掌握你的业务情况。从客户到订单到库存再到财务。 opentaps是一套完整的软件运行在一个

jiva1的专栏 1299

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Windows下opentaps的安装与配置

一、opentaps简介 opentaps是一个基于ofbiz基础开发的完全开源的企业级应用系统。它包括了完整的ERP和CRM解决方案和内建的企业智能工具。  opentaps现在在国内应用面不象sugarcrm/vtigercrm这些企业应用那样普遍,我想很大程度是由于JavaEE应用的逻辑结构严谨与复杂度决定其不象PHP应用那样容易拆分按需阅读切入。了解一个JavaEE的应用需要先了解其构

dolphin_gx的专栏 3985

ubuntu 下安装opentaps

第一次接触ubuntu 整了半天也没有装成功 在网上找的这篇文章,留存。 opentaps-1.0.4的安装还是比较简单的。下面是我的安装经过: 1,安装好ubuntu9.04,当然其他版本如8.04, 9.10, 10.04也可以对照此过程安装。 2,确定安装好mysql,如何安装mysql, 可到ubuntu论坛上去看 3,安装好jdk1.60,我在这问题上折腾...

一路追寻的专栏 219
上一篇: dojo学习总结
下一篇: irport核心类
kevin0xFFFFFFFF
博客等级 码龄17年 3粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值