Task5:Jira CNT-35039
Expected Result :form view(document) should show value that as same as in listing view.
issue:form view inconsistent with listing view .(把form view 的5位数据改成4位的)
如果不明白jira的需求是什么
- 可以先问reporter(log jira的那个人)
- 再问leader
- 再问PMG, 做需求的
solution
step1:去数据库查listing view 的实际存入的数据是什么?
sql语句:select cp.* from CNT_PROJECT cp;
其中CNT_PROJECT 是从相关module的entity表中get出来的。
遇到的问题:我的DBeaver 数据库界面操作工具查询到的数据显示格式不正确,可以用cmd查
打开cmd,输入命令:
psql -h localhost -U postgres
\connect cbx6_dev4_local
select * from CNT_PRPJECT;
step2:如果数据库的数据是正确的--->渲染数据出错render();
情况1:Excel 配置错了。
尝试把format:entityName=Project 改为format:#,##0,0000可以解决这个问题
但是不能直接修改Excel的format,因为在debug的过程中发现代码是通过获取format的返回值来渲染数据的显示小数点的位数
由此可以猜测可以通过修改代码使返回的format值是#,##0,0000可以解决这个问题。
情况2:代码有错。
listing view显示的数据是4位的正确的数据,而form view显示的数据是3位的不正确的,可以对比两个获取format的方法有什么不一样来参考修改。
# listing view 怎么set format 成4位小数点走过的线程,找view表
断点条件:col.getId().equals("targetOTBBudget");
在render()方法中debug到数据的变化,这里由5位小数变成4位小数
getFormat()取回的值是4位,那么setFormat()取回的值是多少?
把断点打到setFormat(); 添加断点条件为:this.getId().equals("targetOTBBudget")
进入到setFormat()方法中,发现setFormat()两次。
第二次setFormat(); 取回一个四位小数点的format:#,##0.0000
# form view 怎么set format 成5位小数点走过的线程,找form表
可以猜测的根据Anchor来搜索相关的类进去debug
根据Anchor,ctrl+shift+G在全部项目中找到Anchor涉及到的全部相关类,然后根据fieldId找到相关应该打断点的地方
寻找一个Action类时,优先选相关module下的Action类,例如project module,.....cbx/project/action路径下的
若没有,选.....cbx/action路径下的Action类
该jira的最终解决方法:
修改CbxUiUtils.java的getFieldDecimalFormat()方法
解决该Jira过程中遇到的问题和解决方法
如果某个方法看不懂,可以新建一个类测试某个方法。
使修改的代码生效
分别在cbx_core和cbx_ui cmd 界面下输入以下命令:mvn clean install -DskipTests
写coding的时候,copy relative path
怎么gen system?
背景:update了cntSessionInfo table, 导致8083登录不进去,原因是新的DB添加了loginId这个列,
那么在代码中就会用到该fieldId来进行相关的业务逻辑,所以要用新的DB或者 re-gen一下system_entity
步骤:在cbx_core里面找到system_entity,然后把这个表放到cbx_cbxb的entity里面,
然后gen -->module=system,target=entity,然后把sql和99980跑到数据库就可以了.
遇到的问题:由于我设置gen.target.path=D:/CBX_Business,所以我每次gen的时候都会自动生成一些文件到biz中,有些会直接导致jetty启动失败。
解决方法:把gen.target.path=./output设置回默认值,但是以后可能要手动copy一些有用的相关的文件到biz中
怎么merge最新的代码到现有的分支