Commit 64228025 by 郭旭

修改后端教案

parent 6fb42efa
## 后端项目下载运行 ## 后端项目下载运行
...@@ -81,43 +81,45 @@ servers元素中配置如下 ...@@ -81,43 +81,45 @@ servers元素中配置如下
</servers> </servers>
``` ```
mirrors元素中配置如下 mirrors元素中配置如下
```xml ```xml
<mirrors> <mirrors>
<!-- mirror <!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The | Specifies a repository mirror site to use instead of a given repository. The
repository that repository that
| this mirror serves has an ID that matches the mirrorOf element of this | this mirror serves has an ID that matches the mirrorOf element of this
mirror. IDs are used mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique | for inheritance and direct lookup purposes, and must be unique
across the set of mirrors. across the set of mirrors.
| |
<mirror> <mirror>
<id>mirrorId</id> <id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf> <mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name> <name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url> <url>https://my.repository.com/repo/path</url>
</mirror> </mirror>
--> -->
<mirror> <mirror>
<id>brilliance-virtual</id> <id>brilliance-virtual</id>
<mirrorOf>*</mirrorOf> <mirrorOf>*</mirrorOf>
<name>brilliance-virtual</name> <name>brilliance-virtual</name>
<url>http://114.115.138.98:9620/artifactory/brilliance-virtual/</url> <url>http://114.115.138.98:9620/artifactory/brilliance-virtual/</url>
</mirror> </mirror>
<!-- <mirror> <!-- <mirror>
<id>aliyunmaven</id> <id>aliyunmaven</id>
<mirrorOf>*</mirrorOf> <mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name> <name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url> <url>https://maven.aliyun.com/repository/public</url>
</mirror> --> </mirror> -->
<!-- <mirror> <!-- <mirror>
<id>maven-default-http-blocker</id> <id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf> <mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name> <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url> <url>http://0.0.0.0/</url>
<blocked>true</blocked> <blocked>true</blocked>
</mirror> --> </mirror> -->
</mirrors> </mirrors>
``` ```
编译内存设置,建议根据自己电脑内存实际情况进行配置,推荐2048 编译内存设置,建议根据自己电脑内存实际情况进行配置,推荐2048
......
# 后端项目代码调试 # 后端项目代码调试
...@@ -65,7 +65,7 @@ check校验时,浏览器控制台上filederror中报隐藏/不存在的字段 ...@@ -65,7 +65,7 @@ check校验时,浏览器控制台上filederror中报隐藏/不存在的字段
td代码中的invisible/visible面板,有使该面板上的所有字段置为disabled/enable的功能,但在新国结后端代码中未实现invisible/visible置对应字段为disabled/enable的功能,而校验时很多check方法的进入条件有判断字段是否为enable,当字段隐藏时td自动置字段为disabled,因check进入条件判断enable为假,不进入check此字段,而新国结上字段隐藏时未置字段为disabled,check进入条件判断为真,进入了check方法,导致校验时报隐藏字段的check错误。 td代码中的invisible/visible面板,有使该面板上的所有字段置为disabled/enable的功能,但在新国结后端代码中未实现invisible/visible置对应字段为disabled/enable的功能,而校验时很多check方法的进入条件有判断字段是否为enable,当字段隐藏时td自动置字段为disabled,因check进入条件判断enable为假,不进入check此字段,而新国结上字段隐藏时未置字段为disabled,check进入条件判断为真,进入了check方法,导致校验时报隐藏字段的check错误。
![check](../assets/images/check.png) ![check](../assets/images/check1.png)
#### 解决方案 #### 解决方案
......
This source diff could not be displayed because it is too large. You can view the blob instead.
# 后端项目整体介绍 # 后端项目整体介绍
...@@ -136,8 +136,8 @@ if (rtnmsg.respCode == SUCCESS) { ...@@ -136,8 +136,8 @@ if (rtnmsg.respCode == SUCCESS) {
前后台对应关系: 前后台对应关系:
| 前台: | VO | Module | | 前台: | VO | Module |
| :---------------------------------------: | :------------------------------------------: | :------------------: | |:-------------------------------------:|:-------------------------------------------:|:--------------------:|
| Setpan.Vue:账务Own Commission/Charges列表 | DitopnVO:List<Setfel> setmod_setfeg_setfel; | setmod/setfeg/setfel | | Setpan.Vue:账务Own Commission/Charges列表 | DitopnVO:List<Setfel> setmod_setfeg_setfel; | setmod/setfeg/setfel |
Details按钮在后台对应的事件rule 为”del”,当按钮被点击时,应当通过以下方式触发相应事件: Details按钮在后台对应的事件rule 为”del”,当按钮被点击时,应当通过以下方式触发相应事件:
...@@ -157,8 +157,8 @@ if (rtnmsg.respCode == SUCCESS) { ...@@ -157,8 +157,8 @@ if (rtnmsg.respCode == SUCCESS) {
![](../assets/images/delete.png) ![](../assets/images/delete.png)
| 前台: | VO | Module | | 前台: | VO | Module |
| :--------: | :-------------------------------------------: | :-------------------: | |:----------:|:--------------------------------------------:|:---------------------:|
| Ccvpan.vue | DitopnVO:List<Setfel> liaall_liaccv_liaccvg; | liaall/liaccv/liaccvg | | Ccvpan.vue | DitopnVO:List<Setfel> liaall_liaccv_liaccvg; | liaall/liaccv/liaccvg |
删除按钮事件调用方式: 删除按钮事件调用方式:
...@@ -296,76 +296,76 @@ if (rtnmsg.respCode == SUCCESS) { ...@@ -296,76 +296,76 @@ if (rtnmsg.respCode == SUCCESS) {
### 2、MdaDriver说明 ### 2、MdaDriver说明
| 函数 | 描述 | | 函数 | 描述 |
| ------------------------------------------------------------ | ------------------------------------------------------------ | |----------------------------------------------------------------------------------------------------------|--------------------------------------|
| IBaseObject getBaseObject(IModule root, String target, boolean helpLoad) | 通过路径获取上下文中的IBaseObject 对象 | | IBaseObject getBaseObject(IModule root, String target, boolean helpLoad) | 通过路径获取上下文中的IBaseObject 对象 |
| IBaseObject getBaseObject(IModule root,String target) | 通过路径获取上下文中的IBaseObject 对象 | | IBaseObject getBaseObject(IModule root,String target) | 通过路径获取上下文中的IBaseObject 对象 |
| DatafieldImpl getDatafield(IModule root, String target) | 通过路径获取上下文中的DatafieldImpl 对象 | | DatafieldImpl getDatafield(IModule root, String target) | 通过路径获取上下文中的DatafieldImpl 对象 |
| DatafieldImpl getDatafield(String target) | 通过路径获取上下文中的DatafieldImpl 对象 | | DatafieldImpl getDatafield(String target) | 通过路径获取上下文中的DatafieldImpl 对象 |
| IModule getModule(IModule root,String target) | 通过路径获取上下文中的IModule 对象 | | IModule getModule(IModule root,String target) | 通过路径获取上下文中的IModule 对象 |
| IModule getModule(String target) | 通过路径获取上下文中的IModule 对象 | | IModule getModule(String target) | 通过路径获取上下文中的IModule 对象 |
| T getModule(String target,Class<T> clazz) | 通过路径获取上下文中的clazz对象 | | T getModule(String target,Class<T> clazz) | 通过路径获取上下文中的clazz对象 |
| IModuleList getModuleList(IModule root,String target) | 通过路径获取上下文中的IModuleList 对象 | | IModuleList getModuleList(IModule root,String target) | 通过路径获取上下文中的IModuleList 对象 |
| IModuleList getModuleList(String target) | 通过路径获取上下文中的IModuleList 对象 | | IModuleList getModuleList(String target) | 通过路径获取上下文中的IModuleList 对象 |
| void copyValues(Object target,Object src) | 深拷贝src 到target | | void copyValues(Object target,Object src) | 深拷贝src 到target |
| void clearModule(IModule module) | 清空模型信息 | | void clearModule(IModule module) | 清空模型信息 |
| Object zero(Class<?> clazz) | 清空基本类型和BigDecimal | | Object zero(Class<?> clazz) | 清空基本类型和BigDecimal |
| String getModuleType(IModule m) | 获取模型类型 | | String getModuleType(IModule m) | 获取模型类型 |
| void setFieldValue(Field field,Object value) | 空方法 | | void setFieldValue(Field field,Object value) | 空方法 |
| void setValueFromVO(IContext ctx,T vo) | 将VO中的值设置到上下文 | | void setValueFromVO(IContext ctx,T vo) | 将VO中的值设置到上下文 |
| setValueFromVoByClass(IModule root,Object vo,Class clazz,String parent) | 根据class将VO的值赋予IModule | | setValueFromVoByClass(IModule root,Object vo,Class clazz,String parent) | 根据class将VO的值赋予IModule |
| void setValueFromVO(IModule root,Object vo,String parent) | 将VO中的值赋予IModule | | void setValueFromVO(IModule root,Object vo,String parent) | 将VO中的值赋予IModule |
| Field getParentField(Object parent,String fieldstr) | 获取parent字段中的fieldstr字段 | | Field getParentField(Object parent,String fieldstr) | 获取parent字段中的fieldstr字段 |
| List<String> getSubModuleTypes(IModule module) | 获取模型中所有属于自己子类的类型 | | List<String> getSubModuleTypes(IModule module) | 获取模型中所有属于自己子类的类型 |
| setFieldValue(Field from,Object fromObj,Field to,Object toObj, boolean voToMod) | 将对象字段设置到对应的字段中,true 表示从VO到ctx(写入上下文) | | setFieldValue(Field from,Object fromObj,Field to,Object toObj, boolean voToMod) | 将对象字段设置到对应的字段中,true 表示从VO到ctx(写入上下文) |
| T getFieldValue(Object o,String fieldName) | 获取对应字段的值 | | T getFieldValue(Object o,String fieldName) | 获取对应字段的值 |
| void setValueToVO(IContext ctx,T vo) | 将ctx内容写入到VO | | void setValueToVO(IContext ctx,T vo) | 将ctx内容写入到VO |
| void setValueToVoByClass(IModule root,Object vo,Class clazz,String parent) | 根据class将IModule的值赋予VO | | void setValueToVoByClass(IModule root,Object vo,Class clazz,String parent) | 根据class将IModule的值赋予VO |
| void setValueToVO(IModule root,Object vo,String parent) | 将IModule的值赋予VO | | void setValueToVO(IModule root,Object vo,String parent) | 将IModule的值赋予VO |
| Map<String,T> translateMapByVoAnotation(String transKey, boolean pathToAlias, Map<String,T> map) | 将map中所有键转化为别名 | | Map<String,T> translateMapByVoAnotation(String transKey, boolean pathToAlias, Map<String,T> map) | 将map中所有键转化为别名 |
| String getPathAlias(String trnnam,String path) | 获取路径别名 | | String getPathAlias(String trnnam,String path) | 获取路径别名 |
| String getAliasPath(String trnnam,String aliasName) | 根据别名获取路径 | | String getAliasPath(String trnnam,String aliasName) | 根据别名获取路径 |
| void createVoSetterAndGetter(Set<Class<?>> clsSet) | 根据交易上的注解,生成别名与长路径的映射 | | void createVoSetterAndGetter(Set<Class<?>> clsSet) | 根据交易上的注解,生成别名与长路径的映射 |
| void processTransAnotion(Class<?> trnCls) | 根据交易上的注解,生成别名与长路径的映射 | | void processTransAnotion(Class<?> trnCls) | 根据交易上的注解,生成别名与长路径的映射 |
| void processTransAnotion(Class<?> trnCls,Class<?> voCls,String modPath,String voPath) | 根据交易上的注解,生成别名与长路径的映射 | | void processTransAnotion(Class<?> trnCls,Class<?> voCls,String modPath,String voPath) | 根据交易上的注解,生成别名与长路径的映射 |
| boolean isFieldPathExist(Class<?> trnCls,String path) | 空方法 | | boolean isFieldPathExist(Class<?> trnCls,String path) | 空方法 |
| String getTransName(Class<?> trnCls) | 获取交易名 | | String getTransName(Class<?> trnCls) | 获取交易名 |
| String firstUpper(String s) | 将首字母大写 | | String firstUpper(String s) | 将首字母大写 |
| Map<String,String> getErrorMap(IContext ctx,Class voClazz) | 获取错误信息map | | Map<String,String> getErrorMap(IContext ctx,Class voClazz) | 获取错误信息map |
| String getModuleInfo(IModule module, int getterType) | 获取模型信息 | | String getModuleInfo(IModule module, int getterType) | 获取模型信息 |
| void getModuleInfoStream(IStream out,IModule module,int getterType) | 将模型信息写入IStream | | void getModuleInfoStream(IStream out,IModule module,int getterType) | 将模型信息写入IStream |
| void getModuleInfoStream(IStream infostream, IModule mod, int type, String match) | 将模型信息写入IStream | | void getModuleInfoStream(IStream infostream, IModule mod, int type, String match) | 将模型信息写入IStream |
| void getModuleInfoStreamMethodWalk(IStream infostream, Class moduleClass,String prefixPath,String match) | 将模型信息写入IStream | | void getModuleInfoStreamMethodWalk(IStream infostream, Class moduleClass,String prefixPath,String match) | 将模型信息写入IStream |
### 3、MdaEnv说明 ### 3、MdaEnv说明
| 函数 | 描述 | | 函数 | 描述 |
| -------------------------------------------------- | -------------------------- | |----------------------------------------------------|-----------------|
| T getBean(String beanId,Class<T> clazz) | 根据类型和名称获取对应Bean | | T getBean(String beanId,Class<T> clazz) | 根据类型和名称获取对应Bean |
| T getBean(Class<T> clazz) | 根据类型获取Bean | | T getBean(Class<T> clazz) | 根据类型获取Bean |
| Object getBean(String beanId) | 根据名称获取Bean | | Object getBean(String beanId) | 根据名称获取Bean |
| void setContext(IContext ctx) | 设置上下文 | | void setContext(IContext ctx) | 设置上下文 |
| IContext getContext() | 获取上下文 | | IContext getContext() | 获取上下文 |
| void rmContext() | 删除上下文 | | void rmContext() | 删除上下文 |
| void clearContext() | 清空所有上下文和认证信息 | | void clearContext() | 清空所有上下文和认证信息 |
| void clear(Object object) | 清空对象 | | void clear(Object object) | 清空对象 |
| boolean isEmpty(Object obj) | 判空 | | boolean isEmpty(Object obj) | 判空 |
| void setAuthInfo(IAuthInfo authInfo) | 设置认证信息 | | void setAuthInfo(IAuthInfo authInfo) | 设置认证信息 |
| IAuthInfo getAuthInfo() | 获取认证信息 | | IAuthInfo getAuthInfo() | 获取认证信息 |
| String getLoginUser() | 获取登录用户信息 | | String getLoginUser() | 获取登录用户信息 |
| String getEncoding() | 获取编码格式 | | String getEncoding() | 获取编码格式 |
| void setEncoding(String encoding) | 设置编码格式 | | void setEncoding(String encoding) | 设置编码格式 |
| void setLang(String lang) | 设置语言 | | void setLang(String lang) | 设置语言 |
| String getLang() | 获取语言 | | String getLang() | 获取语言 |
| T getSessionContextValue(String key) | 获取用户上下文 | | T getSessionContextValue(String key) | 获取用户上下文 |
| void setSessionContext(String key , Object... obj) | 设置用户会话上下文 | | void setSessionContext(String key , Object... obj) | 设置用户会话上下文 |
| void clearSessionContext(String uid) | 清空指定用户会话上下文 | | void clearSessionContext(String uid) | 清空指定用户会话上下文 |
| String getRootPath() | 获取根路径 | | String getRootPath() | 获取根路径 |
| void removeAuthInfo() | 移除认证信息 | | void removeAuthInfo() | 移除认证信息 |
| void removeAttrs() | 移除所有属性 | | void removeAttrs() | 移除所有属性 |
| void setAttribute(String key,Object obj) | 设置属性 | | void setAttribute(String key,Object obj) | 设置属性 |
| Object getAttribute(String key) | 获取对应属性值 | | Object getAttribute(String key) | 获取对应属性值 |
| String getSessionId() | 获取会话id | | String getSessionId() | 获取会话id |
### 4、自定义注解使用说明 ### 4、自定义注解使用说明
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment