Commit 64228025 by 郭旭

修改后端教案

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