- 博客(97)
- 资源 (8)
- 收藏
- 关注
原创 让ERP的服务更开放! ——用微服务架构搭建的一套基于EBS的API服务系统
1. 源码下载地址源码链接: https://github.com/samt007/xygerp-api-demo 这是用Spring Cloud微服务架构搭建的一套基于EBS的API服务系统 如对本文有任何的疑问,请联系我:samt007@qq.com2. Introduction介绍这是一篇传统ERP系统和基于Java的微服务架构有效结合的技术文档。 传...
2018-04-13 21:45:49 8211 2
原创 关于js的callback回调函数以及嵌套回调函数的执行过程理解
回调函数的处理逻辑理解:所谓的回调函数处理逻辑,其实就是先将回调函数的代码 冻结(或者理解为闲置),接着将这个回调函数的代码放到回调函数管理器的队列里面。 待回调函数被触发调用的时候,对应的回调函数的代码才会从管理器队列取出来并自动执行(激活回调函数的代码),实现异步的编程效果。不过,对于一些必须要等回调函数执行完毕才可以确定的动作,实际上,就是会掉入一个层层回调的局面了。这点也是回调函数的复杂的
2017-01-21 20:47:32 23946 5
原创 用SPM技术固定EBS标准功能的SQL执行计划
本文是Oracle SPM技术的一个应用实例,分享给没了解过SPM或者没用过SPM的老铁们。通过本文,应该要了解什么是SPM,它的作用是什么,它的应用场景是什么。这个应用实例总结就是:通过使用SPM技术,固定SQL的执行计划,从而实现调优的效果。它尤其适用于优化EBS系统的标准功能的场景,因为标准功能不建议也不可以直接修改SQL做性能调优。
2022-09-08 12:56:18 493
原创 ERP微服务学习系列一:微服务接口核心框架/组件介绍
摘要通过阅读本文,你应该了解到ERP微服务接口所用到的核心框架/组件,这些框架/组件分别的什么用,解决什么问题的。另外,通过了解ERP微服务接口框架,衍生出对如何学习Java微服务框架,有一个大体的了解。最后,对目前主流的Java Spring Cloud体系也有一个总体的了解。本文只是起一个抛砖引玉,穿针引线的作用,根据里面涉及到的内容,你们可以自行百度或者咨询我,从而可以快速学习Java微服务框架的开发。正文如果想了解ERP接口微服务总体架构,可以阅读本文。看完之后,建议回想一下,看
2022-02-11 15:01:39 1714
原创 Oracle数据库优化之内存表的使用说明
集控项目问题:由于ERP系统的Oracle数据库产生的日志量过多(就一个表在5.13号凌晨1个小时内就有2.6个亿的更新日志),导致罗马平台同步数据采集超时。所以需要对这块做专题优化。修改逻辑:通过分析对应的程序逻辑,发现INSERT日志和UPDATE日志都是针对XYG_ALFR_INV_ALLO_GT和XYG_ALFR_CUST_BALANCE_TEMP表。而这2个表是GLOBAL TEMP的临时表。要减少日志的产生,可以直接用Oracle内存表的逻辑重构修改。
2022-01-28 15:05:55 2254
原创 处理ERP的EXCEL报表数字长度超15位导致精度丢失的问题
ERP的报表,输出格式是EXCEL的,经常会出现数字长度超15位导致精度丢失的问题。目前发现的解决办法有2个。方法1:可以将报表改为XML标准开发,就是产生XML,再开发一个Template的方式。这样子XML处理引擎会自动处理数字格式。当超出15位会自动帮我们转格式。你们可以自己测试。方法2:但是,我们更常用的开发方式是写一个PLSQL,输出HTML格式的代码,再用XLS打开,输出EXCEL。解决方法如下。首先我们看看问题:如下图所示,这个HTML脚本的文件,输出的内容是没问题的,料号
2020-12-16 10:51:37 3322
原创 跟踪确认EBS用户职责突然丢失的问题
问题现象:这边有个用户的职责突然丢失了,不见了。正常来说,职责只可以失效,怎么可能会突然没有了呢?问题寻找:通过找对应的查询直接责任的视图: SELECT DESCRIPTION ,START_DATE ,END_DATE ,RESPONSIBILITY_APPLICATION_ID ,RESPONSIBILITY_ID ,SECURITY_GROUP_ID ,LAST_UPDATE_DATE
2020-11-20 16:54:24 553
原创 EBS系统扫二维码登录开发
EBS系统扫二维码登录开发INTRODUCTION介绍二维码扫码登录的逻辑INTRODUCTION介绍目前对ERP系统的安全性提了很高的要求,其中一块就是要保证ERP用户登录系统的安全性。之前实现了EBS系统的短信认证登录的开发。(开发文档<XYG_ALD_EBS系统短信认证登录开发_V1.1.doc>)考虑到,短信验证码登录其实操作挺麻烦的,而且还费钱。我们现在用的是阿里云短信平台,一条短信大概0.03元。如果是批量用于用户登录的验证,预估一年需要的费用如下:核算样本:以2019
2020-08-03 16:30:26 489
原创 处理一个MyBatis初始化失败导致Spring Boot无法启动的问题
最近要新增一些功能到Spring Boot所开发的微服务上。加完之后,启动服务失败!错误提示:2019-05-20 15:49:18.926 DEBUG 7604 --- [ restartedMain] o.s.w.c.s.StandardServletEnvironment : Replacing [servletContextInitParams] PropertySourc...
2019-05-20 16:35:06 3154 2
原创 处理用户登录ERP系统报错空指针(java.lang.NullPointerException)的问题
一大早碰到一个很郁闷的问题,某些用户在登陆的时候,报了这个错误:刚刚好最近又批量更新过员工,很担心是不是更新员工影响到用户登陆了?虽然正常来说应该不至于。但是,问题还是得好好处理一下。毕竟偶也算是玩了好几年的Java,还弄过自己的小作品的,所以这点小问题,还是难不了我。接着,详细分析错误:错误关键字:java.lang.NullPointerExceptiona...
2019-05-10 15:14:18 2540
转载 什么是线程安全和线程不安全
首先要明白线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。根据上面的解释,很容易想出相应的scenario。 而用syn...
2018-07-11 07:59:28 286
转载 转:setTimeout/setInterval的执行时间的逻辑处理
举个例子: 一断很复杂的代码,中间我设置了一个定时器,在200ms之后自动执行: setTimeout(function(){console.log(‘timeout!’);},200) 问题来了,为什么有时候调试,它的执行时间超过200ms? 有时候甚至是500ms之后才执行匿名函数里面的代码? 原因: 首先要明白Javascript是单线程,单线程就意味着所有任务需要排队。然后会将
2018-05-01 21:57:48 1053
原创 处理Docker容器化部署Tomcat服务碰到的时区问题
用Docker工具容器化部署服务之后,碰到的问题比较多。 其中比较特出的问题是这个时区问题。1 问题现象:举个例子,有个小功能,需要记录计划开始时间。 前台输入的时间是:2018.4.24 00:00:00。 后台记录的计划开始时间却是:2018.4.23 16:00:00。 可以看出,整整提前了8个小时。2 问题处理过程:多笔数据都是刚刚好差异8个小时,那一般都...
2018-04-24 15:46:42 2460 2
转载 chrome浏览器网页刷新的console代码
代码如下:timeout=prompt("Set timeout (Second):");count=0current=location.href;if(timeout&gt;0)setTimeout('reload()',1000*timeout);elselocation.replace(current);function reload(){setTimeout('re...
2018-04-20 09:32:22 26123 6
原创 swagger用Nginx反向代理之后,出现no response from server错误的解决办法
问题现象 用nginx做反向代理,在调试swagger的时候,老是端口丢失,就是默认切换到80端口。 导致用swagger调试接口的时候,响应返回:”error”: “no response from server” 问题解决 这个问题一直困扰了很久。最近再找原因,发现是因为我在配置nginx反向代理的时候,没注意到配置代理的端口,导致端口丢失! 就是这里: proxy_se...
2018-04-08 07:57:31 19433 2
原创 Oracle EBS系统短信认证登录开发
INTRODUCTION介绍开发这种功能,说白了也是领导的想法:让ERP用户的安全性能有一定的保障。 而且短信认证也是目前绝大部分系统的安全认证方式,例如银行系统之类的。所以,这个也是合理的需求。 本文介绍了整个开发流程,有需要的基本按照文档可以开发短信认证的功能。注意,在开发之前,必须要准备下面这几个要点: 1. Java开发技术。这个是必须的。OAF的应用对应的开发
2018-01-04 17:40:07 998
原创 折腾Weex+Android App开发运行环境搭建手记
搞了几个月的Vuejs,也是时候开始搞搞基于Vuejs语法的Weex App了。 什么是Weex App? 这里有简介: Weex App 阿里巴巴开发团队在RN的成功案例上,重新设计出的一套开发模式,站在了巨人肩膀上并有淘宝团队项目做养料,广受关注,2016年4月正式开源,并在v2.0版本官方支持Vue.js,与RN分庭抗礼。 优点:单页开发模式效率极高,热更新发包体积小,
2017-12-03 14:07:45 3595
转载 理解 JavaScript 的 async/await(转)
随着 Node 7 的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await。我第一次看到这组关键字并不是在 JavaScript 语言里,而是在 c# 5.0 的语法中。C# 的 async/await 需要在 .NET Framework 4.5 以上的版本中使用,因此我还很悲伤了一阵——为了要兼容 XP 系统,我们开发的软件不能使用高于 4.0 版本的 .NET Fra
2017-11-08 22:18:33 214
转载 [ES6] Module export(转)
Default export:Default export is easy way to export a function to outside module.//flash-message.js export default function(message){ alert(message); }//app.js import flashMessage from ‘./flast-
2017-11-04 17:24:38 394
转载 (转)理解javascript的同步与异步模式
你可能知道,Javascript语言的执行环境是”单线程”(single thread)。 所谓”单线程”,就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javasc
2017-11-04 17:17:01 455
原创 处理Oracle EBS R12标准功能切换职责速度慢的问题
最近在用系统的时候,用户普遍反馈一个问题: 切换职责的时候,很慢,基本要5秒左右。有时候甚至要等上7秒以上。 就是下图,在点确定之后,切换到另外一个职责,经常要5秒左右。 这个问题如何处理?其实是这样子的,如果以前使用系统的时候正常,现在突然变慢,在服务器的性能没大幅度下降的前提下,应该是某个SQL的执行计划出现问题了。 所以,现在的处理这类“突然慢”的问题,核心的解决方法还是:找出是哪条S
2017-05-18 14:26:54 2014
原创 关于EBS Form 的LOV长值列表 查询效率异常问题处理
最近用户经常反馈和任务单相关的查询界面非常慢。并且都是很精确的查询。 正常来说,选择性好的查询(直接输入任务单的唯一编号了)应该速度很快的。但是,为何这个查询慢(超过30秒)?不合理的现象,而且还是标准功能: 跟踪了这个查询对应的SQL,发现是这样子的: SELECT wip_entity_name, wip_entity_id FROM wip_entities WHERE
2017-05-08 16:32:31 2111
原创 关于在PLSQL中实现DEBUG调试功能的方法
前言 一个健康的PLSQL,应该都带有一套完整的调试逻辑。特别是那些功能很复杂的PLSQL,就更加有必要具备调试功能了。否则,当PLSQL处理数据出现问题的时候,分析(处理)起来会相当的困难。 举个例子,Oracle EBS标准功能的PLSQL(特别是API),如果Oracle没有自带调试功能给我们做看每一步骤的调试结果,单单通过看代码模拟其执行逻辑来找问题,基本上是不可能处理问题的! 当然,
2017-04-07 14:27:52 6390
原创 Oracle数据库调优之-SQL执行计划粗解
ORACLE数据库调优:执行计划粗解 前言 本文主要是讲解关于Oracle SQL的执行计划的各个方面的知识,包括如何计算Cost的逻辑等,适合没深入了解执行计划的程序开发人员阅读。 对于DBA们,SQL的执行计划好像本来就是必修课之一吧~(主要是最近调优数据库,分析性能瓶颈之后,得出的一些经验总结。特意整理以及分享一下,希望对执行计划这方面还未深入了解的开发人员有帮助!) 数据库调优,其
2017-04-07 14:08:03 1134
原创 性能调优分析之:Oracle SQL执行计划报告生成器
Oracle SQL执行计划分析器功能的创建3步曲: 1 首先,编译XYG_ALD_SESS_PKG的Package头。 (XYG_ALD_SESS_PKG.sql) 2 接着要建立好下面的4个视图对象。因为XYG_ALD_SESS_PKG包体会用到。(View Create Script v1.0.sql) 如果出现没权限访问GV$SQL_PLAN_MONITOR这些对象,请先用sys
2017-04-07 13:55:14 3239
原创 PR自动创建PO采购订单:强制按照PR行进行分组
有时候,需要实现强制按照PR行来自动创建PO。 举个例子:假设2张PR,同一个物料,同一个需求日期等等的,在合并采购订单的时候,希望是2个PO行。 按照标准功能的处理逻辑,如果是同一个物料+需求日期(配置PO_NEED_BY_GROUPING=’Y’),在PR自动创建PO的时候,会自动合并为一行。然后发运行是2行。 如何实现? 其实实现的逻辑很简单,最近通过研究自动创建的包:PO_INTER
2017-03-08 17:51:28 6251
转载 Oracle执行计划基础详解(转载)
Oracle执行计划详解简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!目录一.相关的概念Rowid的概念Recursive Sql概念Predicate(谓词)DRiving Table(驱动表)Probed Table(被探查表)组合索引(concatenated index)可
2017-02-14 22:16:18 375
转载 理解Node.js事件驱动编程
Node.js现在非常活跃,相关生态社区已经超过Lua(基本上比较知名的功能都有nodejs模块实现)。但是我们为何要使用Node.Js?相比传统的webserver服务模式,nodejs有什么优点优势?Node.Js是基于javascript语言,建构在google V8 engine以及Linux上的一个非阻塞事件驱动IO框架。nodejs是单进程单线程,但是基于V8的强大驱动
2017-01-23 14:23:31 414
原创 微信小程序[全栈]-配置本地Nodejs服务器全过程
总结填坑过程(2017.1.19):电脑系统:Win7 64位。 Web服务器:Nodejs 数据库:MongoDB 这个实例主要是要实现微信小程序的全栈测试。值得研究。 具体的逻辑是:可以实现在微信小程序端的自动登录,并且记录登录的用户信息。 运行效果: 注:顺便帮提供源代码的网站做个广告:https://www.getweapp.com/ 这里确实有很多不错的样例,学习小程序的
2017-01-19 15:13:38 25740 6
原创 解决Spring框架的Dao层改用@Repository注解,无法使用JdbcDaoSupport的问题
目的: 想改用Spring框架强大的注解功能(@Repository注解)来实现自动注册dao的bean的功能(原来是在xml中配置的)。改完之后,运行的时候直接报错:Error creating bean with name 'UserVODao' defined in file [D:\JSP_MyEclipse\.metadata\.me_tcat7\webapps\XYG_WEBDEV_
2017-01-07 00:30:08 13897 7
原创 关于在SpringMVC框架中 实现数据库session会话环境变量的功能
前言: 由于SpringMVC框架对于数据库会话处理方面,实现了会话池的功能,以提高数据库的工作效率。因为在数据库申请一个新的会话session确实是比较耗资源。 问题: 但是,这样子,session被公用就带来一个新的问题:数据库的session级的环境变量就可能不可以直接使用了。 首先我们要理解,为什么要用数据库的session的环境变量?用过OracleEBS开发的人都知道,数据库的s
2016-12-23 17:58:43 2205
原创 Oracle数据库疑问:函数出现no_data_found不报异常
今天做一个功能的时候,发现Oracle数据库的一个令人很奇怪的点:在sql里面调用的函数,如果函数体出现no_data_found的报错居然不会显式报错!而是终止执行,不报错,并返回null值。真是太费解了!不信的可以自己试试。我确实是今天才发现这个“问题”。以前写函数,我一定做异常处理的。备注:经过测试得知,别的错误,例如TOO_MANY_ROWS和DUP_VAL_ON_INDEX,
2016-10-25 15:52:43 3681
原创 chrome插件开发之:处理某些订单无法自动提交的问题
(TM=天 猫) 嵌入js操作TM提交订单的界面的时候,还碰到一个很郁闷的问题: 不知道为什么,某些TM物品的购买,在订单界面的时候,无法获取订单界面的按钮的dom对象!而TB就完全没问题! 无法获取按钮,也就是意味着功能自动操作会停留在下订单的界面!这样子就悲剧了。 后来经过不断的调试,发现一个问题点:在某些TM的购买界面,chrome插件执行的时候,是无法获取对应的类! 什么问题呢?然
2016-10-09 20:06:29 1385
原创 chrome插件开发之:处理由于注入css导致页面的ui出现错位的问题
由于注入到淘宝和天猫什么的不是什么好事情,所以,这里淘宝用TB代替,天猫用TM代替。 不知道为什么,引入了插件之后,导致TB的html的ui出现错位的问题!而TM则不会。 用的boostrap的版本是:v3.3.5 解决思路: 首先得定位问题! 经过不断的测试,发现是由于导入了css: “include/bootstrap/css/bootstrap.min.css” 导致! 引入了c
2016-10-09 20:02:08 4243 2
原创 chrome插件开发之:关于使用日期插件以及处理UI被覆盖的问题
我用了一个日期插件:http://www.jq22.com/jquery-info332 datetimepicker 碰到问题:添加日期插件的时候,日期的ui居然被覆盖了。 解决办法: http://blog.csdn.net/lxz946786639/article/details/51251511 就是修改这里: jquery.datetimepicker.css .xdsoft
2016-10-09 19:51:40 1750
原创 chrome插件开发之:关于处理定时下单的时间点的处理问题
系统显示的时间和插件显示的时间,不知道为什么总有点差,有时候居然差1秒。理论上应该是同步才对。 因为对于这种到点自动购物的软件,如果连时间都抓不准,那这个软件也没什么用途了! 再细研究,发现一个细节: 就是,用户点击自动购物的时间一般都不是整秒!而界面自动显示的时间是整秒显示,如果代码的定时器(setInterval)的开始时间没把握好,肯定会有时间差的! 这个时间差一般在1秒之内。不过对于
2016-10-09 19:44:35 1980
原创 chrome插件开发之:关于一些设定变量以及变量存储的问题
关于一些设定变量以及变量存储的问题: 1 如果是同域的: 如果是回话的,可以用H5的:sessionStorage存储。存储格式是key-value,就是map的形式。sessionStorage.setItem/getItem等获取。 如果是非会话,要存在本地的,可以用:localStorage存储! (一个理解:不同域的是不可以相互访问: 找到问题的原因了,可能是
2016-10-09 19:41:47 3620
原创 chrome插件开发之:一键购物助手功能开发总结
从10.1开始有开发自动购物这个想法,一直到今天,就是10.9,总算把这个功能给完美整出来了。 回顾这9天的开发路程,确实不是很好走。发现了很多问题,也解决了很多问题。现在分享一下开发的经验。 开发经验总结: 1 首先是前端的基础必须要打好的!特别是js和css的基础。还有,必须要理解什么是异步编程,什么是回调函数等。 如果不理解的话,可以看看我写的一个文章: http://blog.cs
2016-10-09 19:29:52 4051
原创 处理EBS采购申请单无法审批的问题
问题描述:Oracle EBS的标准采购申请单据无法审批。就是:在界面操作了审核的动作,但是重新查询单据,还是未完成的状态。 用户描述:这边录了两张申购单913115090001和913115090002,为什么审批不了我点了审批之后,状态还是未完成申购单到不了仓库审批的环节解决思路以及办法:由于该问题比较奇怪,检查了设定,也没什么问题,包括采购选项的设定以
2015-09-10 08:03:13 7200
XYG_ALD_EBS系统短信认证登录开发教程
2018-01-04
关于在PLSQL中实现DEBUG调试功能的方法
2017-04-07
Oracle数据库调优之-SQL执行计划粗解
2017-04-07
性能调优分析之:Oracle SQL执行计划报告生成器
2017-04-07
EBS_单据序列和分配批量导入_操作说明手册_V1.0.pdf
2014-08-22
Oracle EBS API使用说明
2014-01-11
汉字转拼音的Oracle函数_201303
2013-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人