Commit 64e78604 authored by scwang18's avatar scwang18
Browse files

1、支持逻辑删除,数据库建表的时候,要包括 deleteFlag的int字段

parent fb395113
...@@ -131,7 +131,7 @@ public class CoreCodeGenService { ...@@ -131,7 +131,7 @@ public class CoreCodeGenService {
displayName = comment.substring(0,index); displayName = comment.substring(0,index);
attr.setDisplayName(displayName); attr.setDisplayName(displayName);
}else { }else {
attr.setDisplayName(attr.getName()); attr.setDisplayName(comment);
} }
} }
......
...@@ -11,20 +11,21 @@ ...@@ -11,20 +11,21 @@
<div class="layui-row"> <div class="layui-row">
<div class="layui-form-item"> <div class="layui-form-item">
@for(item in array){ @for(item in array){
@if(item==null){continue;} @if(item==null){continue;}
@if(item.name=="delFlag"){continue;}
@if(item.name=="version"){continue;}
@if(item.name=="attachmentId"){continue;}
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">${item.displayName}</label> <label class="layui-form-label">${item.displayName}</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
@if(isEmpty(item.dictType)){ @if(isEmpty(item.dictType)){
<input type="text" name="${item.name}" class="layui-input${item.javaType=='Date'?' input-date'}" ${isNotEmpty(item.verifyList)?('lay-verify="'+verifyFormat(item.verifyList)+'"'):''}> <input type="text" name="${item.name}" class="layui-input${item.javaType=='Date'?' input-date'}" ${isNotEmpty(item.verifyList)?('lay-verify="'+verifyFormat(item.verifyList)+'"'):''}>
@}else{ @}else{
<layui:simpleDictSelect style='layui-input-inline' type="${item.dictType}" layVerify="${verifyFormat(item.verifyList)}" <layui:simpleDictSelect style='layui-input-inline' type="${item.dictType}" layVerify="${verifyFormat(item.verifyList)}"
id="${item.name}" name="${item.name}" value="" /> id="${item.name}" name="${item.name}" value="" />
@} @}
</div>
</div> </div>
</div>
@} @}
</div> </div>
</div> </div>
......
...@@ -11,28 +11,37 @@ ...@@ -11,28 +11,37 @@
<div class="layui-row"> <div class="layui-row">
<div class="layui-form-item"> <div class="layui-form-item">
@for(item in array){ @for(item in array){
@if(item==null){continue;} @if(item==null){continue;}
@if(item.name=="delFlag"){continue;}
@if(item.name=="version"){continue;}
@if(item.name=="attachmentId"){continue;}
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">${item.displayName}</label> <label class="layui-form-label">${item.displayName}</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
@if(isEmpty(item.dictType)){ @if(isEmpty(item.dictType)){
<input type="text" id="${item.name}" name="${item.name}" value="\${${entity.code}.${item.name}${item.javaType=='Date'?',"yyyy-MM-dd"'}}" ${isNotEmpty(item.verifyList)?('lay-verify="'+verifyFormat(item.verifyList)+'"'):''} class="layui-input${item.javaType=='Date'?' input-date'}" > <input type="text" id="${item.name}" name="${item.name}" value="\${${entity.code}.${item.name}${item.javaType=='Date'?',"yyyy-MM-dd"'}}" ${isNotEmpty(item.verifyList)?('lay-verify="'+verifyFormat(item.verifyList)+'"'):''} class="layui-input${item.javaType=='Date'?' input-date'}" >
@}else{ @}else{
<layui:simpleDictSelect style='layui-input-inline' type="${item.dictType}" <layui:simpleDictSelect style='layui-input-inline' type="${item.dictType}"
id="${item.name}" name="${item.name}" value="\${${entity.code}.${item.name}}" layVerify="${verifyFormat(item.verifyList)}" /> id="${item.name}" name="${item.name}" value="\${${entity.code}.${item.name}}" layVerify="${verifyFormat(item.verifyList)}" />
@} @}
</div> </div>
</div> </div>
@} @}
</div> </div>
</div> </div>
@} @}
@if(entity.attachment){ @if(entity.attachment){
<div class="layui-row"> <div class="layui-row">
<layui:attachment name="attachmentId" batchFileUUID="\${${entity.code}.attachmentId}" isNew="false" bizId="\${${entity.code}.${entity.idAttribute.name}}" bizType="${entity.name}"/> <layui:attachment name="attachmentId" batchFileUUID="\${${entity.code}.attachmentId!uuid()}" isNew="false" bizId="\${${entity.code}.${entity.idAttribute.name}}" bizType="${entity.name}"/>
</div> </div>
@} @}
<!-- 业务对象须有hidden字段,保存delFlag和version字段-->
@for(item in list){
@if(item==null){continue;}
@if((item.name=="delFlag")||(item.name=="version")){
<input type="hidden" name="${item.name}" value=\${${entity.code}.${item.name}} ${isNotEmpty(item.verifyList)?('lay-verify="'+verifyFormat(item.verifyList)+'"'):''}/>
@}
@}
<input type="hidden" name="${entity.idAttribute.name}" value=\${${entity.code}.${entity.idAttribute.name}} ${isNotEmpty(item.verifyList)?('lay-verify="'+verifyFormat(item.verifyList)+'"'):''}/> <input type="hidden" name="${entity.idAttribute.name}" value=\${${entity.code}.${entity.idAttribute.name}} ${isNotEmpty(item.verifyList)?('lay-verify="'+verifyFormat(item.verifyList)+'"'):''}/>
<layui:submitButtons id="updateButton" /> <layui:submitButtons id="updateButton" />
</form> </form>
......
...@@ -17,6 +17,11 @@ import java.math.*; ...@@ -17,6 +17,11 @@ import java.math.*;
import com.ibeetl.admin.core.annotation.Dict; import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.entity.BaseEntity; import com.ibeetl.admin.core.entity.BaseEntity;
import org.beetl.sql.core.annotatoin.InsertIgnore;
import org.beetl.sql.core.annotatoin.Version;
import org.beetl.sql.core.annotatoin.LogicDelete;
/* /*
* ${comment} * ${comment}
* gen by Spring Boot2 Admin ${date(),"yyyy-MM-dd"} * gen by Spring Boot2 Admin ${date(),"yyyy-MM-dd"}
...@@ -24,18 +29,28 @@ import com.ibeetl.admin.core.entity.BaseEntity; ...@@ -24,18 +29,28 @@ import com.ibeetl.admin.core.entity.BaseEntity;
public class ${className} extends BaseEntity{ public class ${className} extends BaseEntity{
@for(attr in attrs){ @for(attr in attrs){
@if(!isEmpty(attr.comment)){ @if(!isEmpty(attr.comment)){
//${attr.comment} //${attr.comment}
@} @}
@if(attr.isId) { @if(attr.isId) {
\@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class) \@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
\@SeqID(name = ORACLE_CORE_SEQ_NAME) \@SeqID(name = ORACLE_CORE_SEQ_NAME)
\@AutoID \@AutoID
@} @}
@if(isNotEmpty(attr.dictType)) {
@if(isNotEmpty(attr.dictType)) {
\@Dict(type="${attr.dictType}") \@Dict(type="${attr.dictType}")
@} @}
@if(attr.name == "delFlag") {
/*逻辑删除标志*/
\@InsertIgnore
\@LogicDelete(value = 1)
@}
@if(attr.name == "version") {
/*乐观锁版本标志*/
\@InsertIgnore
\@Version
@}
private ${attr.type} ${attr.name} ; private ${attr.type} ${attr.name} ;
@} @}
...@@ -44,19 +59,19 @@ public class ${className} extends BaseEntity{ ...@@ -44,19 +59,19 @@ public class ${className} extends BaseEntity{
} }
@for(attr in attrs){ @for(attr in attrs){
@if(!isEmpty(attr.comment)){ @if(!isEmpty(attr.comment)){
/**${attr.comment} /**${attr.comment}
*\@return *\@return
*/ */
@} @}
public ${attr.type} get${attr.methodName}(){ public ${attr.type} get${attr.methodName}(){
return ${attr.name}; return ${attr.name};
} }
@if(!isEmpty(attr.comment)){ @if(!isEmpty(attr.comment)){
/**${attr.comment} /**${attr.comment}
*\@param ${attr.name} *\@param ${attr.name}
*/ */
@} @}
public void set${attr.methodName}(${attr.type} ${attr.name}){ public void set${attr.methodName}(${attr.type} ${attr.name}){
this.${attr.name} = ${attr.name}; this.${attr.name} = ${attr.name};
} }
......
...@@ -16,45 +16,50 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) { ...@@ -16,45 +16,50 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
${entity.code}Table = table.render({ ${entity.code}Table = table.render({
elem : '#${entity.code}Table', elem : '#${entity.code}Table',
height : Lib.getTableHeight(1), height : Lib.getTableHeight(1),
cellMinWidth: 100,
method : 'post', method : 'post',
url : Common.ctxPath + '/${target.urlBase}/${entity.code}/list.json' // 数据接口 url : Common.ctxPath + '/${target.urlBase}/${entity.code}/list.json' // 数据接口
,page : Lib.tablePage // 开启分页 ,page : Lib.tablePage // 开启分页
,limit : 10, ,limit : 10,
cols : [ [ // 表头 cols : [ [ // 表头
{ {
type : 'checkbox', type : 'checkbox',
fixed:'left', fixed:'left',
}, },
@for(attr in entity.list){ @for(attr in entity.list){
@if(attr.name=="delFlag"){continue;}
@if(attr.name=="version"){continue;}
@if(attr.name=="attachmentId"){continue;}
{ {
field : '${isEmpty(attr.dictType)?attr.name:(attr.name+"Text")}', ${isNotEmpty(attr.dictType)?"//数据字典类型为 "+attr.dictType}
title : '${attr.displayName}', field : '${isEmpty(attr.dictType)?attr.name:(attr.name+"Text")}', ${isNotEmpty(attr.dictType)?"//数据字典类型为 "+attr.dictType}
@if(attrLP.first){ title : '${attr.displayName}',
fixed:'left', @if(attrLP.first){
@} fixed:'left',
@if(attr.javaType=="date"){ width : 60,
templet:function(d){ @}
return Common.getDate(d.${attr.name}); @if(attr.javaType=="date"){
}, templet:function(d){
@} return Common.getDate(d.${attr.name});
width : 100 }
}${!attrLP.last?","} @}
@} }${!attrLP.last?","}
@}
] ]
] ]
});
});
table.on('checkbox(${entity.code}Table)', function(obj){ table.on('checkbox(${entity.code}Table)', function(obj){
var ${entity.code} = obj.data; var ${entity.code} = obj.data;
if(obj.checked){ if(obj.checked){
//按钮逻辑Lib.buttonEnable() //按钮逻辑Lib.buttonEnable()
}else{ }else{
} }
}) })
}, },
initSearchForm:function(){ initSearchForm:function(){
Lib.initSearchForm( $("#searchForm"),${entity.code}Table,form); Lib.initSearchForm( $("#searchForm"),${entity.code}Table,form);
}, },
...@@ -72,14 +77,14 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) { ...@@ -72,14 +77,14 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
var url = "/${target.urlBase}/${entity.code}/edit.do?${entity.idAttribute.name}="+data.${entity.idAttribute.name}; var url = "/${target.urlBase}/${entity.code}/edit.do?${entity.idAttribute.name}="+data.${entity.idAttribute.name};
Common.openDlg(url,"${entity.displayName}管理>"+data.${entity.nameAttribute.name}+">编辑"); Common.openDlg(url,"${entity.displayName}管理>"+data.${entity.nameAttribute.name}+">编辑");
}, },
del : function() { del : function() {
layui.use(['del'], function(){ layui.use(['del'], function(){
var delView = layui.del var delView = layui.del
delView.delBatch(); delView.delBatch();
}); });
} }
@if(entity.includeExcel){ @if(entity.includeExcel){
, ,
exportDocument : function() { exportDocument : function() {
layui.use([ '${entity.code}Api' ], function() { layui.use([ '${entity.code}Api' ], function() {
var ${entity.code}Api = layui.${entity.code}Api var ${entity.code}Api = layui.${entity.code}Api
...@@ -99,13 +104,13 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) { ...@@ -99,13 +104,13 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
Common.openDlg(url, "${entity.displayName}管理>上传"); Common.openDlg(url, "${entity.displayName}管理>上传");
} }
@} @}
}; };
$('.ext-toolbar').on('click', function() { $('.ext-toolbar').on('click', function() {
var type = $(this).data('type'); var type = $(this).data('type');
toolbar[type] ? toolbar[type].call(this) : ''; toolbar[type] ? toolbar[type].call(this) : '';
}); });
} }
} }
exports('index',view); exports('index',view);
}); });
\ No newline at end of file
...@@ -7,7 +7,7 @@ queryByCondition ...@@ -7,7 +7,7 @@ queryByCondition
t.* t.*
\@} \@}
from ${entity.tableName} t from ${entity.tableName} t
where 1=1 where del_flag=0
\@//数据权限,该sql语句功能点 \@//数据权限,该sql语句功能点
and #function("${entity.code}.query")# and #function("${entity.code}.query")#
@for(attr in entity.list){ @for(attr in entity.list){
......
...@@ -10,23 +10,22 @@ if(has(readonly)){ ...@@ -10,23 +10,22 @@ if(has(readonly)){
var expected = value!""; var expected = value!"";
for(item in data){ for(item in data){
if(item[attrId]==expected){ if(item[attrId]==expected){
selectedDict = item; selectedData = item;
break; break;
} }
} }
--> -->
<input type="text" class="layui-input input-readonly" value="${selectedData[attrName]}"></input> <input type="text" class="layui-input input-readonly" value="${selectedData[attrName]}"></input>
<input type="hidden" name="${name}" <input type="hidden" name="${name}" value="${expected}"></input>
value="${expected}"></input>
<!--#}else{ --> <!--#}else{ -->
<select name="${name}" ${has(id)?("id="+id):''}> <select name="${name}" ${has(id)?("id="+id):''}>
<option value="">请选择</option> <option value="">请选择</option>
<!--# <!--#
var expected = value!""; var expected = value!"";
for(item in data){ for(item in data){
--> -->
<option value="${item[attrId]}" ${item[attrId]==expected?'selected'}>${item[attrName]}</option> <option value="${item[attrId]}" ${item[attrId]==expected?'selected'}>${item[attrName]}</option>
<!--#}--> <!--#}-->
</select> </select>
<!--#} --> <!--#} -->
......
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<label class="layui-form-label">系统包名</label> <label class="layui-form-label">系统包名</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="basePackage" <input type="text" name="basePackage"
value="com.ibeetl.cms" class="layui-input"> value="cn.wlyoa.dnjd" class="layui-input">
</div> </div>
</div> </div>
</div> </div>
...@@ -102,14 +102,14 @@ ...@@ -102,14 +102,14 @@
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">urlBase</label> <label class="layui-form-label">urlBase</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="urlBase" value="cms" class="layui-input"> <input type="text" name="urlBase" value="dnjd" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">system</label> <label class="layui-form-label">system</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" name="entity.system" value="cms" <input type="text" name="entity.system" value="dnjd"
class="layui-input"> class="layui-input">
</div> </div>
</div> </div>
......
Supports Markdown
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