提交 023aa05d 编写于 作者: ibizdev's avatar ibizdev

Mosher 发布系统代码 [后台服务,演示应用]

上级 0c6fef77
...@@ -380,6 +380,7 @@ export default { ...@@ -380,6 +380,7 @@ export default {
formitem1: "数据选择视图", formitem1: "数据选择视图",
formitem2: "多选数据选择", formitem2: "多选数据选择",
borrowerid: "借阅人ID", borrowerid: "借阅人ID",
ibizcustomername: "",
}, },
uiactions: { uiactions: {
}, },
......
...@@ -379,6 +379,7 @@ export default { ...@@ -379,6 +379,7 @@ export default {
formitem1: "数据选择视图", formitem1: "数据选择视图",
formitem2: "多选数据选择", formitem2: "多选数据选择",
borrowerid: "借阅人ID", borrowerid: "借阅人ID",
ibizcustomername: "",
}, },
uiactions: { uiactions: {
}, },
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
:localParam ='{ }' :localParam ='{ }'
:disabled="detailsModel.formitem.disabled" :disabled="detailsModel.formitem.disabled"
name='formitem' name='formitem'
valueitem='borrowerid' valueitem='ibizcustomername'
:value="data.formitem" :value="data.formitem"
editortype="pickup-no-ac" editortype="pickup-no-ac"
:pickupView="{ viewname: 'ibizcustomer-pickup-grid-view', title: $t('entities.ibizcustomer.views.pickupgridview.title'), deResParameters: [], parameters: [{ pathName: 'ibizcustomers', parameterName: 'ibizcustomer' }, { pathName: 'pickupgridview', parameterName: 'pickupgridview' } ], placement:'' }" :pickupView="{ viewname: 'ibizcustomer-pickup-grid-view', title: $t('entities.ibizcustomer.views.pickupgridview.title'), deResParameters: [], parameters: [{ pathName: 'ibizcustomers', parameterName: 'ibizcustomer' }, { pathName: 'pickupgridview', parameterName: 'pickupgridview' } ], placement:'' }"
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
:localParam ='{ }' :localParam ='{ }'
:disabled="detailsModel.formitem1.disabled" :disabled="detailsModel.formitem1.disabled"
name='formitem1' name='formitem1'
valueitem='borrowerid' valueitem='ibizcustomername'
:value="data.formitem1" :value="data.formitem1"
editortype="pickup-no-ac" editortype="pickup-no-ac"
:pickupView="{ viewname: 'ibizcustomer-pickup-view', title: $t('entities.ibizcustomer.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'ibizcustomers', parameterName: 'ibizcustomer' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }" :pickupView="{ viewname: 'ibizcustomer-pickup-view', title: $t('entities.ibizcustomer.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'ibizcustomers', parameterName: 'ibizcustomer' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
:localContext ='{ }' :localContext ='{ }'
:localParam ='{ }' :localParam ='{ }'
:service="service" :service="service"
valueitem='borrowerid' valueitem='ibizcustomername'
:acParams="{ }" :acParams="{ }"
:pickupView="{ viewname: 'ibizcustomer-mpickup-view', title: $t('entities.ibizcustomer.views.mpickupview.title'), deResParameters: [], parameters: [{ pathName: 'ibizcustomers', parameterName: 'ibizcustomer' }, { pathName: 'mpickupview', parameterName: 'mpickupview' } ], placement:'' }" :pickupView="{ viewname: 'ibizcustomer-mpickup-view', title: $t('entities.ibizcustomer.views.mpickupview.title'), deResParameters: [], parameters: [{ pathName: 'ibizcustomers', parameterName: 'ibizcustomer' }, { pathName: 'mpickupview', parameterName: 'mpickupview' } ], placement:'' }"
@formitemvaluechange="onFormItemValueChange" @formitemvaluechange="onFormItemValueChange"
...@@ -517,6 +517,7 @@ export default class InterFuncForm_2Base extends Vue implements ControlInterface ...@@ -517,6 +517,7 @@ export default class InterFuncForm_2Base extends Vue implements ControlInterface
formitem1: null, formitem1: null,
formitem2: null, formitem2: null,
borrowerid: null, borrowerid: null,
ibizcustomername: null,
ibizbook:null, ibizbook:null,
}; };
...@@ -724,6 +725,8 @@ export default class InterFuncForm_2Base extends Vue implements ControlInterface ...@@ -724,6 +725,8 @@ export default class InterFuncForm_2Base extends Vue implements ControlInterface
formitem2: new FormItemModel({ caption: '多选数据选择', detailType: 'FORMITEM', name: 'formitem2', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 }) formitem2: new FormItemModel({ caption: '多选数据选择', detailType: 'FORMITEM', name: 'formitem2', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 })
, ,
borrowerid: new FormItemModel({ caption: '借阅人ID', detailType: 'FORMITEM', name: 'borrowerid', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 }) borrowerid: new FormItemModel({ caption: '借阅人ID', detailType: 'FORMITEM', name: 'borrowerid', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 })
,
ibizcustomername: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'ibizcustomername', visible: true, isShowCaption: true, form: this, isControlledContent: false , required:false, disabled: false, enableCond: 3 })
, ,
}; };
...@@ -895,6 +898,18 @@ export default class InterFuncForm_2Base extends Vue implements ControlInterface ...@@ -895,6 +898,18 @@ export default class InterFuncForm_2Base extends Vue implements ControlInterface
this.formDataChange({ name: 'borrowerid', newVal: newVal, oldVal: oldVal }); this.formDataChange({ name: 'borrowerid', newVal: newVal, oldVal: oldVal });
} }
/**
* 监控表单属性 ibizcustomername 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof InterFuncForm_2Base
*/
@Watch('data.ibizcustomername')
onIbizcustomernameChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'ibizcustomername', newVal: newVal, oldVal: oldVal });
}
/** /**
* 显示更多模式切换操作 * 显示更多模式切换操作
...@@ -965,6 +980,7 @@ export default class InterFuncForm_2Base extends Vue implements ControlInterface ...@@ -965,6 +980,7 @@ export default class InterFuncForm_2Base extends Vue implements ControlInterface
} }
/** /**
......
...@@ -85,6 +85,9 @@ export default class InterFuncForm_2Model { ...@@ -85,6 +85,9 @@ export default class InterFuncForm_2Model {
prop: 'borrowerid', prop: 'borrowerid',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{
name: 'ibizcustomername',
},
{ {
name: 'ibizbook', name: 'ibizbook',
prop: 'ibizbookid', prop: 'ibizbookid',
......
package cn.ibizlab.core.sample.domain;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.math.BigInteger;
import java.util.HashMap;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.util.ObjectUtils;
import org.springframework.util.DigestUtils;
import cn.ibizlab.util.domain.EntityBase;
import cn.ibizlab.util.annotation.DEField;
import cn.ibizlab.util.enums.DEPredefinedFieldType;
import cn.ibizlab.util.enums.DEFieldDefaultValueType;
import cn.ibizlab.util.helper.DataObject;
import cn.ibizlab.util.enums.DupCheck;
import java.io.Serializable;
import lombok.*;
import org.springframework.data.annotation.Transient;
import cn.ibizlab.util.annotation.Audit;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.baomidou.mybatisplus.annotation.*;
import cn.ibizlab.util.domain.EntityMP;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
/**
* 实体[应用看板]
*/
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "T_APPKANBAN", resultMap = "APPKANBANResultMap")
public class APPKANBAN extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 应用看板标识
*/
@DEField(isKeyField = true)
@TableId(value = "appkanbanid", type = IdType.ASSIGN_UUID)
@JSONField(name = "appkanbanid")
@JsonProperty("appkanbanid")
private String appkanbanid;
/**
* 建立时间
*/
@DEField(preType = DEPredefinedFieldType.CREATEDATE)
@TableField(value = "createdate", fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
@JSONField(name = "createdate", format = "yyyy-MM-dd HH:mm:ss")
@JsonProperty("createdate")
private Timestamp createdate;
/**
* 建立人
*/
@DEField(preType = DEPredefinedFieldType.CREATEMAN)
@TableField(value = "createman", fill = FieldFill.INSERT)
@JSONField(name = "createman")
@JsonProperty("createman")
private String createman;
/**
* 应用看板名称
*/
@TableField(value = "appkanbanname")
@JSONField(name = "appkanbanname")
@JsonProperty("appkanbanname")
private String appkanbanname;
/**
* 更新时间
*/
@DEField(preType = DEPredefinedFieldType.UPDATEDATE)
@TableField(value = "updatedate")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
@JSONField(name = "updatedate", format = "yyyy-MM-dd HH:mm:ss")
@JsonProperty("updatedate")
private Timestamp updatedate;
/**
* 更新人
*/
@DEField(preType = DEPredefinedFieldType.UPDATEMAN)
@TableField(value = "updateman")
@JSONField(name = "updateman")
@JsonProperty("updateman")
private String updateman;
/**
* 设置 [应用看板名称]
*/
public void setAppkanbanname(String appkanbanname) {
this.appkanbanname = appkanbanname;
this.modify("appkanbanname", appkanbanname);
}
/**
* 复制当前对象数据到目标对象(粘贴重置)
* @param targetEntity 目标数据对象
* @param bIncEmpty 是否包括空值
* @param <T>
* @return
*/
@Override
public <T> T copyTo(T targetEntity, boolean bIncEmpty) {
this.reset("appkanbanid");
return super.copyTo(targetEntity, bIncEmpty);
}
}
package cn.ibizlab.core.sample.filter;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import cn.ibizlab.util.filter.QueryWrapperContext;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.ibizlab.core.sample.domain.APPKANBAN;
/**
* 关系型数据实体[APPKANBAN] 查询条件对象
*/
@Slf4j
@Data
public class APPKANBANSearchContext extends QueryWrapperContext<APPKANBAN> {
private String n_appkanbanname_like;//[应用看板名称]
public void setN_appkanbanname_like(String n_appkanbanname_like) {
this.n_appkanbanname_like = n_appkanbanname_like;
if(!ObjectUtils.isEmpty(this.n_appkanbanname_like)){
this.getSearchCond().like("appkanbanname", n_appkanbanname_like);
}
}
/**
* 启用快速搜索
*/
@Override
public void setQuery(String query)
{
this.query=query;
if(!StringUtils.isEmpty(query)){
this.getSearchCond().and( wrapper ->
wrapper.like("appkanbanname", query)
);
}
}
}
package cn.ibizlab.core.sample.mapper;
import java.util.List;
import org.apache.ibatis.annotations.*;
import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.HashMap;
import org.apache.ibatis.annotations.Select;
import cn.ibizlab.core.sample.domain.APPKANBAN;
import cn.ibizlab.core.sample.filter.APPKANBANSearchContext;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface APPKANBANMapper extends BaseMapper<APPKANBAN> {
Page<APPKANBAN> searchDefault(IPage page, @Param("srf") APPKANBANSearchContext context, @Param("ew") Wrapper<APPKANBAN> wrapper);
@Override
APPKANBAN selectById(Serializable id);
@Override
int insert(APPKANBAN entity);
@Override
int updateById(@Param(Constants.ENTITY) APPKANBAN entity);
@Override
int update(@Param(Constants.ENTITY) APPKANBAN entity, @Param("ew") Wrapper<APPKANBAN> updateWrapper);
@Override
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
* @param sql
* @return
*/
@Update("${sql}")
boolean updateBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义插入SQL
* @param sql
* @return
*/
@Insert("${sql}")
boolean insertBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义删除SQL
* @param sql
* @return
*/
@Delete("${sql}")
boolean deleteBySQL(@Param("sql") String sql, @Param("et")Map param);
}
package cn.ibizlab.core.sample.service;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Collection;
import java.math.BigInteger;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.scheduling.annotation.Async;
import com.alibaba.fastjson.JSONObject;
import org.springframework.cache.annotation.CacheEvict;
import cn.ibizlab.core.sample.domain.APPKANBAN;
import cn.ibizlab.core.sample.filter.APPKANBANSearchContext;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[APPKANBAN] 服务对象接口
*/
public interface IAPPKANBANService extends IService<APPKANBAN> {
boolean create(APPKANBAN et);
void createBatch(List<APPKANBAN> list);
boolean update(APPKANBAN et);
void updateBatch(List<APPKANBAN> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
APPKANBAN get(String key);
APPKANBAN getDraft(APPKANBAN et);
boolean checkKey(APPKANBAN et);
boolean save(APPKANBAN et);
void saveBatch(List<APPKANBAN> list);
Page<APPKANBAN> searchDefault(APPKANBANSearchContext context);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List<JSONObject> select(String sql, Map param);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean execute(String sql, Map param);
List<APPKANBAN> getAppkanbanByIds(List<String> ids);
List<APPKANBAN> getAppkanbanByEntities(List<APPKANBAN> entities);
}
package cn.ibizlab.core.sample.service.impl;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.Map;
import java.util.HashSet;
import java.util.HashMap;
import java.util.Collection;
import java.util.Objects;
import java.util.Optional;
import java.math.BigInteger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.beans.BeanCopier;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.util.ObjectUtils;
import org.springframework.beans.factory.annotation.Value;
import cn.ibizlab.util.errors.BadRequestAlertException;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.context.annotation.Lazy;
import cn.ibizlab.core.sample.domain.APPKANBAN;
import cn.ibizlab.core.sample.filter.APPKANBANSearchContext;
import cn.ibizlab.core.sample.service.IAPPKANBANService;
import cn.ibizlab.util.helper.CachedBeanCopier;
import cn.ibizlab.util.helper.DEFieldCacheMap;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.ibizlab.core.sample.mapper.APPKANBANMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils;
/**
* 实体[应用看板] 服务对象接口实现
*/
@Slf4j
@Service("APPKANBANServiceImpl")
public class APPKANBANServiceImpl extends ServiceImpl<APPKANBANMapper, APPKANBAN> implements IAPPKANBANService {
protected int batchSize = 500;
@Override
@Transactional
public boolean create(APPKANBAN et) {
if(!this.retBool(this.baseMapper.insert(et))) {
return false;
}
CachedBeanCopier.copy(get(et.getAppkanbanid()), et);
return true;
}
@Override
@Transactional
public void createBatch(List<APPKANBAN> list) {
this.saveBatch(list, batchSize);
}
@Override
@Transactional
public boolean update(APPKANBAN et) {
if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("appkanbanid", et.getAppkanbanid()))) {
return false;
}
CachedBeanCopier.copy(get(et.getAppkanbanid()), et);
return true;
}
@Override
@Transactional
public void updateBatch(List<APPKANBAN> list) {
updateBatchById(list, batchSize);
}
@Override
@Transactional
public boolean remove(String key) {
boolean result = removeById(key);
return result ;
}
@Override
@Transactional
public void removeBatch(Collection<String> idList) {
removeByIds(idList);
}
@Override
@Transactional
public APPKANBAN get(String key) {
APPKANBAN et = getById(key);
if(et == null){
et = new APPKANBAN();
et.setAppkanbanid(key);
}
else {
}
return et;
}
@Override
public APPKANBAN getDraft(APPKANBAN et) {
return et;
}
@Override
public boolean checkKey(APPKANBAN et) {
return (!ObjectUtils.isEmpty(et.getAppkanbanid())) && (!Objects.isNull(this.getById(et.getAppkanbanid())));
}
@Override
@Transactional
public boolean save(APPKANBAN et) {
if(!saveOrUpdate(et)) {
return false;
}
return true;
}
@Override
@Transactional
public boolean saveOrUpdate(APPKANBAN et) {
if (null == et) {
return false;
} else {
return checkKey(et) ? this.update(et) : this.create(et);
}
}
@Override
@Transactional
public boolean saveBatch(Collection<APPKANBAN> list) {
saveOrUpdateBatch(list,batchSize);
return true;
}
@Override
@Transactional
public void saveBatch(List<APPKANBAN> list) {
saveOrUpdateBatch(list,batchSize);
}
/**
* 查询集合 数据集
*/
@Override
public Page<APPKANBAN> searchDefault(APPKANBANSearchContext context) {
com.baomidou.mybatisplus.extension.plugins.pagination.Page<APPKANBAN> pages=baseMapper.searchDefault(context.getPages(),context,context.getSelectCond());
return new PageImpl<APPKANBAN>(pages.getRecords(), context.getPageable(), pages.getTotal());
}
@Override
public List<JSONObject> select(String sql, Map param){
return this.baseMapper.selectBySQL(sql,param);
}
@Override
@Transactional
public boolean execute(String sql , Map param){
if (sql == null || sql.isEmpty()) {
return false;
}
if (sql.toLowerCase().trim().startsWith("insert")) {
return this.baseMapper.insertBySQL(sql,param);
}
if (sql.toLowerCase().trim().startsWith("update")) {
return this.baseMapper.updateBySQL(sql,param);
}
if (sql.toLowerCase().trim().startsWith("delete")) {
return this.baseMapper.deleteBySQL(sql,param);
}
log.warn("暂未支持的SQL语法");
return true;
}
@Override
public List<APPKANBAN> getAppkanbanByIds(List<String> ids) {
return this.listByIds(ids);
}
@Override
public List<APPKANBAN> getAppkanbanByEntities(List<APPKANBAN> entities) {
List ids =new ArrayList();
for(APPKANBAN entity : entities){
Serializable id=entity.getAppkanbanid();
if(!ObjectUtils.isEmpty(id)){
ids.add(id);
}
}
if(ids.size()>0) {
return this.listByIds(ids);
}
else {
return entities;
}
}
}
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</createView> </createView>
</changeSet> </changeSet>
<!--输出实体[IBIZCUSTOMER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步--> <!--输出实体[IBIZCUSTOMER]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步-->
<changeSet author="a_LAB01_df847bdfd" id="view-ibizcustomer-15-4" runOnChange="true"> <changeSet author="a_LAB01_df847bdfd" id="view-ibizcustomer-20-4" runOnChange="true">
<createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZCUSTOMER"> <createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZCUSTOMER">
<![CDATA[ SELECT t1.[ADDRESS], t1.[CREATEDATE], t1.[CREATEMAN], t1.[CUSTOMERUID], t1.[IBIZCUSTOMERID], t1.[IBIZCUSTOMERNAME], t1.[SN], t1.[UPDATEDATE], t1.[UPDATEMAN] FROM [T_IBIZCUSTOMER] t1 ]]> <![CDATA[ SELECT t1.[ADDRESS], t1.[CREATEDATE], t1.[CREATEMAN], t1.[CUSTOMERUID], t1.[IBIZCUSTOMERID], t1.[IBIZCUSTOMERNAME], t1.[SN], t1.[UPDATEDATE], t1.[UPDATEMAN] FROM [T_IBIZCUSTOMER] t1 ]]>
</createView> </createView>
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
</createView> </createView>
</changeSet> </changeSet>
<!--输出实体[IBIZUNIPRODUCT]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步--> <!--输出实体[IBIZUNIPRODUCT]视图结构信息 runOnChange="true" 当视图发生变更时,通过liquibase强刷prod的视图,实现视图的同步-->
<changeSet author="a_LAB01_df847bdfd" id="view-ibizuniproduct-6-35" runOnChange="true"> <changeSet author="a_LAB01_df847bdfd" id="view-ibizuniproduct-7-35" runOnChange="true">
<createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZUNIPRODUCT"> <createView fullDefinition="false" replaceIfExists="true" viewName="V_IBIZUNIPRODUCT">
<![CDATA[ SELECT t1.[CREATEDATE], t1.[CREATEMAN], t1.[IBIZUNIPRODUCTID], t1.[IBIZUNIPRODUCTNAME], t1.[IBIZUNIPRODUCTTYPE], t1.[UNIT], t1.[UNITPRICE], t1.[UPDATEDATE], t1.[UPDATEMAN] FROM [T_IBIZUNIPRODUCT] t1 ]]> <![CDATA[ SELECT t1.[CREATEDATE], t1.[CREATEMAN], t1.[IBIZUNIPRODUCTID], t1.[IBIZUNIPRODUCTNAME], t1.[IBIZUNIPRODUCTTYPE], t1.[UNIT], t1.[UNITPRICE], t1.[UPDATEDATE], t1.[UPDATEMAN] FROM [T_IBIZUNIPRODUCT] t1 ]]>
</createView> </createView>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.core.sample.mapper.APPKANBANMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
<select id="selectById" resultMap="APPKANBANResultMap" databaseId="mysql">
<![CDATA[select t1.* from (SELECT t1.`APPKANBANID`, t1.`APPKANBANNAME`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `T_APPKANBAN` t1 ) t1 where appkanbanid=#{id}]]>
</select>
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
<resultMap id="APPKANBANResultMap" type="cn.ibizlab.core.sample.domain.APPKANBAN" autoMapping="true">
<id property="appkanbanid" column="appkanbanid" /><!--主键字段映射-->
</resultMap>
<!--数据集合[Default]-->
<select id="searchDefault" parameterType="cn.ibizlab.core.sample.filter.APPKANBANSearchContext" resultMap="APPKANBANResultMap">
select t1.* from (
<include refid="Default" />
)t1
<where><if test="ew!=null and ew.sqlSegment!=null and !ew.emptyOfWhere">${ew.sqlSegment}</if></where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">${ew.sqlSegment}</if>
</select>
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`APPKANBANID`, t1.`APPKANBANNAME`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `T_APPKANBAN` t1
]]>
</sql>
<!--数据查询[View]-->
<sql id="View" databaseId="mysql">
<![CDATA[ SELECT t1.`APPKANBANID`, t1.`APPKANBANNAME`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `T_APPKANBAN` t1
]]>
</sql>
</mapper>
...@@ -3,6 +3,113 @@ ...@@ -3,6 +3,113 @@
"systemname":"DemoSys", "systemname":"DemoSys",
"entities":[ "entities":[
{ {
"entity_name":"APPKANBAN",
"logic_name":"应用看板",
"code_name":"APPKANBAN",
"table_name":"T_APPKANBAN",
"system_id":"DemoSys",
"system_name":"DemoSys",
"module_id":"Sample",
"module_name":"示例",
"fields":[
{
"fieldname":"APPKANBANID" ,
"codename":"APPKANBANId",
"field_logic_name":"应用看板标识",
"entity_name":"APPKANBAN",
"field_type":"GUID",
"nullable":0,
"physical_field":1,
"data_type":"VARCHAR",
"data_length":100,
"key_field":1,
"show_order":1000,
"major_field":0
},
{
"fieldname":"CREATEDATE" ,
"codename":"CreateDate",
"field_logic_name":"建立时间",
"entity_name":"APPKANBAN",
"field_type":"DATETIME",
"nullable":0,
"physical_field":1,
"data_type":"DATETIME",
"data_length":8,
"predefined":"CREATEDATE",
"key_field":0,
"show_order":1000,
"major_field":0
},
{
"fieldname":"CREATEMAN" ,
"codename":"CreateMan",
"field_logic_name":"建立人",
"entity_name":"APPKANBAN",
"field_type":"TEXT",
"dict":"SysOperator",
"nullable":0,
"physical_field":1,
"data_type":"VARCHAR",
"data_length":60,
"predefined":"CREATEMAN",
"key_field":0,
"show_order":1000,
"major_field":0
},
{
"fieldname":"APPKANBANNAME" ,
"codename":"APPKANBANName",
"field_logic_name":"应用看板名称",
"entity_name":"APPKANBAN",
"field_type":"TEXT",
"nullable":1,
"physical_field":1,
"data_type":"VARCHAR",
"data_length":200,
"key_field":0,
"show_order":1000,
"major_field":1
},
{
"fieldname":"UPDATEDATE" ,
"codename":"UpdateDate",
"field_logic_name":"更新时间",
"entity_name":"APPKANBAN",
"field_type":"DATETIME",
"nullable":0,
"physical_field":1,
"data_type":"DATETIME",
"data_length":8,
"predefined":"UPDATEDATE",
"key_field":0,
"show_order":1000,
"major_field":0
},
{
"fieldname":"UPDATEMAN" ,
"codename":"UpdateMan",
"field_logic_name":"更新人",
"entity_name":"APPKANBAN",
"field_type":"TEXT",
"dict":"SysOperator",
"nullable":0,
"physical_field":1,
"data_type":"VARCHAR",
"data_length":60,
"predefined":"UPDATEMAN",
"key_field":0,
"show_order":1000,
"major_field":0
}
],
"subEntitys":[
],
"parentEntitys":[
]
}
,
{
"entity_name":"IBIZACCOUNT", "entity_name":"IBIZACCOUNT",
"logic_name":"账户", "logic_name":"账户",
"code_name":"IBIZAccount", "code_name":"IBIZAccount",
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册