bug fix
This commit is contained in:
parent
2676c79828
commit
cb1bf206ee
|
|
@ -162,31 +162,31 @@ scheduling:
|
|||
enabled: true
|
||||
gen:
|
||||
# 作者
|
||||
author:
|
||||
author: zcc
|
||||
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
|
||||
packageName: com.cyl.demo
|
||||
packageName: com.cyl.wms
|
||||
# 自动去除表前缀,默认是false
|
||||
autoRemovePre: true
|
||||
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
|
||||
tablePrefix: cscdc_
|
||||
tablePrefix: wms_
|
||||
# 一级权限名
|
||||
rootPermission: cscdc
|
||||
rootPermission: wms
|
||||
# 模板根路径
|
||||
templateRootPath: vm
|
||||
# 路径
|
||||
path:
|
||||
# 后端根目录
|
||||
backPath: C:\Users\zccbbg\ichengle\ruoyi-vue-fork\
|
||||
backPath: D:\java_project\wms\wms-ruoyi
|
||||
# 后端 service 模块名
|
||||
serviceModule: mybatis-plus-demo
|
||||
serviceModule: wms
|
||||
# 后端 api 模块名, 默认与 service 一致
|
||||
apiModule: mybatis-plus-api
|
||||
apiModule: wms
|
||||
# 前端根目录
|
||||
frontPath: C:\Users\zccbbg\code\cdc_front_cs\
|
||||
frontPath: D:\java_project\wms\ruoyi-wms-vue2
|
||||
# 前端 api 目录
|
||||
frontApiPath: src/api/emergencyhandle
|
||||
frontApiPath: src/api/wms
|
||||
# 前端 view 目录
|
||||
frontViewPath: src/views/emergencyhandle
|
||||
frontViewPath: src/views/wms
|
||||
# sql 目录
|
||||
sql: sql
|
||||
# 环境变量
|
||||
|
|
@ -199,7 +199,7 @@ gen:
|
|||
fileMap:
|
||||
"api.js.vm": "${frontPath}/${frontApiPath}/${className}.js"
|
||||
"controller.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/controller/${ClassName}Controller.java"
|
||||
"service.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/service/I${ClassName}Service.java"
|
||||
"service.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/service/${ClassName}Service.java"
|
||||
"mapper.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/mapper/${ClassName}Mapper.java"
|
||||
"convert.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/convert/${ClassName}Convert.java"
|
||||
"example.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/pojo/example/${ClassName}Example.java"
|
||||
|
|
@ -211,6 +211,32 @@ gen:
|
|||
"sql.vm": "${backPath}/sql/${className}.sql"
|
||||
"h2.sql.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/db/${tableName}-h2.sql"
|
||||
"add.vue.vm": "${frontPath}/${frontViewPath}/Add${ClassName}.vue"
|
||||
"index.vue.vm": "${frontPath}/${frontViewPath}/index.vue"
|
||||
"index.vue.vm": "${frontPath}/${frontViewPath}/${className}/index.vue"
|
||||
"index-tree.vue.vm": "${frontPath}/${frontViewPath}/index.vue"
|
||||
"sub-domain.java.vm": "${frontPath}/${frontViewPath}/Sub${ClassName}.vue"
|
||||
templates:
|
||||
- vm/js/api.js.vm
|
||||
- vm/java/controller.java.vm
|
||||
- vm/java/service.java.vm
|
||||
- vm/java/mapper.java.vm
|
||||
- vm/java/convert.java.vm
|
||||
- vm/java/query.java.vm
|
||||
- vm/java/dto.java.vm
|
||||
- vm/java/vo.java.vm
|
||||
- vm/java/domain.java.vm
|
||||
- vm/xml/mapper.xml.vm
|
||||
# - vm/sql/sql.vm
|
||||
testTemplates:
|
||||
# - vm/sql/h2.sql.vm
|
||||
crudTemplates:
|
||||
# - vm/vue/add.vue.vm
|
||||
- vm/vue/index.vue.vm
|
||||
treeTemplates:
|
||||
# - vm/vue/index-tree.vue.vm
|
||||
subTemplates:
|
||||
# - vm/vue/index.vue.vm
|
||||
# - vm/java/sub-domain.java.vm
|
||||
type2component:
|
||||
"String": "a-input("
|
||||
"LocalDate": "a-date-picker("
|
||||
"LocalDateTime": "a-date-picker(format=\"YYYY-MM-DD HH:mm\""
|
||||
|
|
|
|||
|
|
@ -1,12 +1,80 @@
|
|||
# 代码生成
|
||||
gen:
|
||||
gen:
|
||||
# 作者
|
||||
author: zcc
|
||||
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
|
||||
packageName: com.cyl.wms
|
||||
# 自动去除表前缀,默认是false
|
||||
autoRemovePre: false
|
||||
autoRemovePre: true
|
||||
# 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
|
||||
tablePrefix: wms_
|
||||
# 一级权限名
|
||||
rootPermission: wms
|
||||
# 模板根路径
|
||||
templateRootPath: vm
|
||||
# 路径
|
||||
path:
|
||||
# 后端根目录
|
||||
backPath: D:\java_project\wms\wms-ruoyi
|
||||
# 后端 service 模块名
|
||||
serviceModule: wms
|
||||
# 后端 api 模块名, 默认与 service 一致
|
||||
apiModule: wms
|
||||
# 前端根目录
|
||||
frontPath: D:\java_project\wms\ruoyi-wms-vue2
|
||||
# 前端 api 目录
|
||||
frontApiPath: src/api/wms
|
||||
# 前端 view 目录
|
||||
frontViewPath: src/views/wms
|
||||
# sql 目录
|
||||
sql: sql
|
||||
# 环境变量
|
||||
env:
|
||||
# 审计 的 基类(创建者,创建时间,更新者,更新时间)
|
||||
baseAudit: com.ruoyi.common.core.domain.BaseAudit
|
||||
# 树 的 基类
|
||||
baseTree: com.ruoyi.common.core.domain.TreeEntity
|
||||
# 对于新增的模板,如果没有默认值,在这里进行配置
|
||||
fileMap:
|
||||
"api.js.vm": "${frontPath}/${frontApiPath}/${className}.js"
|
||||
"controller.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/controller/${ClassName}Controller.java"
|
||||
"service.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/service/${ClassName}Service.java"
|
||||
"mapper.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/mapper/${ClassName}Mapper.java"
|
||||
"convert.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/convert/${ClassName}Convert.java"
|
||||
"example.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/pojo/example/${ClassName}Example.java"
|
||||
"query.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/pojo/query/${ClassName}Query.java"
|
||||
"dto.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/pojo/dto/${ClassName}DTO.java"
|
||||
"vo.java.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/${packageName}/pojo/vo/${ClassName}VO.java"
|
||||
"domain.java.vm": "${backPath}/${apiModule}/${MAIN_JAVA}/${packageName}/domain/${ClassName}.java"
|
||||
"mapper.xml.vm": "${backPath}/${serviceModule}/${MAIN_RESOURCES}/mapper/${ClassName}Mapper.xml"
|
||||
"sql.vm": "${backPath}/sql/${className}.sql"
|
||||
"h2.sql.vm": "${backPath}/${serviceModule}/${MAIN_JAVA}/db/${tableName}-h2.sql"
|
||||
"add.vue.vm": "${frontPath}/${frontViewPath}/Add${ClassName}.vue"
|
||||
"index.vue.vm": "${frontPath}/${frontViewPath}/${className}/index.vue"
|
||||
"index-tree.vue.vm": "${frontPath}/${frontViewPath}/index.vue"
|
||||
"sub-domain.java.vm": "${frontPath}/${frontViewPath}/Sub${ClassName}.vue"
|
||||
templates:
|
||||
- vm/js/api.js.vm
|
||||
- vm/java/controller.java.vm
|
||||
- vm/java/service.java.vm
|
||||
- vm/java/mapper.java.vm
|
||||
- vm/java/convert.java.vm
|
||||
- vm/java/query.java.vm
|
||||
- vm/java/dto.java.vm
|
||||
- vm/java/vo.java.vm
|
||||
- vm/java/domain.java.vm
|
||||
- vm/xml/mapper.xml.vm
|
||||
# - vm/sql/sql.vm
|
||||
testTemplates:
|
||||
# - vm/sql/h2.sql.vm
|
||||
crudTemplates:
|
||||
# - vm/vue/add.vue.vm
|
||||
- vm/vue/index.vue.vm
|
||||
treeTemplates:
|
||||
# - vm/vue/index-tree.vue.vm
|
||||
subTemplates:
|
||||
# - vm/vue/index.vue.vm
|
||||
# - vm/java/sub-domain.java.vm
|
||||
type2component:
|
||||
"String": "a-input("
|
||||
"LocalDate": "a-date-picker("
|
||||
"LocalDateTime": "a-date-picker(format=\"YYYY-MM-DD HH:mm\""
|
||||
|
|
@ -1,6 +1,13 @@
|
|||
package ${packageName}.controller;
|
||||
package ${fullPackage};
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
|
@ -13,94 +20,74 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import ${packageName}.domain.${ClassName};
|
||||
import ${packageName}.service.I${ClassName}Service;
|
||||
import ${_fullClass.convert};
|
||||
import ${_fullClass.domain};
|
||||
import ${_fullClass.query};
|
||||
import ${_fullClass.service};
|
||||
import ${_fullClass.vo};
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
#if($table.crud || $table.sub)
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
#elseif($table.tree)
|
||||
#end
|
||||
|
||||
/**
|
||||
* ${functionName}Controller
|
||||
*
|
||||
* @author ${author}
|
||||
* @date ${datetime}
|
||||
*/
|
||||
@Api(description ="${functionName}接口列表")
|
||||
@RestController
|
||||
@RequestMapping("/${moduleName}/${businessName}")
|
||||
public class ${ClassName}Controller extends BaseController {
|
||||
@RequestMapping("/${moduleName}/${className}")
|
||||
public class ${_className.controller} extends BaseController {
|
||||
@Autowired
|
||||
private I${ClassName}Service ${className}Service;
|
||||
private ${_className.service} service;
|
||||
@Autowired
|
||||
private ${_className.convert} convert;
|
||||
|
||||
/**
|
||||
* 查询${functionName}列表
|
||||
*/
|
||||
@ApiOperation("查询${functionName}列表")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
|
||||
@GetMapping("/list")
|
||||
#if($table.crud || $table.sub)
|
||||
public TableDataInfo list(${ClassName} ${className}) {
|
||||
startPage();
|
||||
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
|
||||
return getDataTable(list);
|
||||
@PostMapping("/list")
|
||||
public ResponseEntity<Page<${_className.domain}>> list(@RequestBody ${_className.query} query, Pageable page) {
|
||||
List<${_className.domain}> list = service.selectList(query, page);
|
||||
return ResponseEntity.ok(new PageImpl<>(list, page, ((com.github.pagehelper.Page)list).getTotal()));
|
||||
}
|
||||
#elseif($table.tree)
|
||||
public AjaxResult list(${ClassName} ${className}) {
|
||||
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
#end
|
||||
|
||||
/**
|
||||
* 导出${functionName}列表
|
||||
*/
|
||||
@ApiOperation("导出${functionName}列表")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
|
||||
@Log(title = "${functionName}", businessType = BusinessType.EXPORT)
|
||||
@GetMapping("/export")
|
||||
public AjaxResult export(${ClassName} ${className}) {
|
||||
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
|
||||
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
|
||||
return util.exportExcel(list, "${functionName}数据");
|
||||
public ResponseEntity<String> export(${_className.query} query) {
|
||||
List<${ClassName}> list = service.selectList(query, null);
|
||||
ExcelUtil<${_className.vo}> util = new ExcelUtil<>(${_className.vo}.class);
|
||||
return ResponseEntity.ok(util.writeExcel(convert.dos2vos(list), "${functionName}数据"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取${functionName}详细信息
|
||||
*/
|
||||
@ApiOperation("获取${functionName}详细信息")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
|
||||
@GetMapping(value = "/{${pkColumn.javaField}}")
|
||||
public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
return AjaxResult.success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}));
|
||||
public ResponseEntity<${ClassName}> getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
return ResponseEntity.ok(service.selectBy${pkColumn.capJavaField}(${pkColumn.javaField}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增${functionName}
|
||||
*/
|
||||
@ApiOperation("新增${functionName}")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
|
||||
@Log(title = "${functionName}", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody ${ClassName} ${className}) {
|
||||
return toAjax(${className}Service.insert${ClassName}(${className}));
|
||||
public ResponseEntity<Integer> add(@RequestBody ${ClassName} ${className}) {
|
||||
return ResponseEntity.ok(service.insert(${className}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改${functionName}
|
||||
*/
|
||||
@ApiOperation("修改${functionName}")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
|
||||
@Log(title = "${functionName}", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody ${ClassName} ${className}) {
|
||||
return toAjax(${className}Service.update${ClassName}(${className}));
|
||||
public ResponseEntity<Integer> edit(@RequestBody ${ClassName} ${className}) {
|
||||
return ResponseEntity.ok(service.update(${className}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除${functionName}
|
||||
*/
|
||||
@ApiOperation("删除${functionName}")
|
||||
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
|
||||
@Log(title = "${functionName}", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{${pkColumn.javaField}s}")
|
||||
public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
|
||||
return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s));
|
||||
public ResponseEntity<Integer> remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
|
||||
return ResponseEntity.ok(service.deleteBy${pkColumn.capJavaField}s(${pkColumn.javaField}s));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
package ${packageName}.convert;
|
||||
package ${fullPackage};
|
||||
|
||||
import org.mapstruct.Mapper;
|
||||
import ${packageName}.model.entity.${ClassName};
|
||||
import ${packageName}.pojo.dto.${ClassName}DTO;
|
||||
#if($table.sub)
|
||||
import ${packageName}.convert.${subClassName}Convert;
|
||||
#end
|
||||
import ${_fullClass.domain};
|
||||
import ${_fullClass.dto};
|
||||
import ${_fullClass.vo};
|
||||
import java.util.List;
|
||||
/**
|
||||
* ${functionName} DO <=> DTO <=> VO / BO / Query
|
||||
*
|
||||
|
|
@ -25,4 +24,6 @@ public interface ${ClassName}Convert {
|
|||
* @return DO
|
||||
*/
|
||||
${ClassName} dto2do(${ClassName}DTO source);
|
||||
|
||||
List<${_className.vo}> dos2vos(List<${_className.domain}> list);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,33 +1,33 @@
|
|||
package ${packageName}.model.entity;
|
||||
package ${fullPackage};
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
#if(($table.crud || $table.sub) && $table.audit == 1)
|
||||
import com.bryx.core.common.base.entity.BaseAudit;
|
||||
#elseif($table.tree)
|
||||
import com.ruoyi.common.core.domain.TreeEntity;
|
||||
import ${env.baseAudit};
|
||||
#end
|
||||
import lombok.Data;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
/**
|
||||
* ${functionName}对象 ${tableName}
|
||||
*
|
||||
* @author ${author}
|
||||
*/
|
||||
@ApiModel(description="${functionName}对象")
|
||||
#if(($table.crud || $table.sub) && $table.audit == 1)
|
||||
#set($Entity="BaseAudit")
|
||||
#elseif($table.tree)
|
||||
#set($Entity="TreeEntity")
|
||||
#end
|
||||
@Data
|
||||
@TableName("${tableName}")
|
||||
public class ${ClassName}#if($Entity) extends ${Entity}#end {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
#foreach ($column in $columns)
|
||||
#if(!$table.isSuperColumn($column.javaField))
|
||||
/** $column.columnComment */
|
||||
@ApiModelProperty("$column.columnComment")
|
||||
#if($column.list)
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
|
|
@ -38,7 +38,6 @@ public class ${ClassName}#if($Entity) extends ${Entity}#end {
|
|||
#if($parentheseIndex != -1)
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
#elseif($column.isDate())
|
||||
@JsonFormat(pattern = "${column.dateFormat}")
|
||||
@Excel(name = "${comment}", width = 30, dateFormat = "${column.dateFormat}")
|
||||
#else
|
||||
@Excel(name = "${comment}")
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
package ${packageName}.pojo.dto;
|
||||
package ${fullPackage};
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
#if( ${table.audit} == 1 )
|
||||
import com.bryx.core.common.base.entity.BaseAudit;
|
||||
import ${env.baseAudit};
|
||||
#end
|
||||
import lombok.Data;
|
||||
/**
|
||||
|
|
@ -15,7 +15,7 @@ import lombok.Data;
|
|||
@Data
|
||||
public class ${ClassName}DTO#if( ${table.audit} == 1 ) extends BaseAudit#end {
|
||||
#foreach ($column in $columns)
|
||||
#if(!$table.isSuperColumn($column.javaField))
|
||||
#if(!$table.isSuperColumn($column.javaField) and $column.javaField != "delFlag")
|
||||
private $column.javaType $column.javaField;
|
||||
#end
|
||||
#end
|
||||
|
|
|
|||
|
|
@ -0,0 +1,305 @@
|
|||
package ${fullPackage};
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class ${ClassName}Example {
|
||||
protected String orderByClause;
|
||||
|
||||
protected boolean distinct;
|
||||
|
||||
protected List<Criteria> oredCriteria;
|
||||
|
||||
public ${ClassName}Example() {
|
||||
oredCriteria = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void setOrderByClause(String orderByClause) {
|
||||
this.orderByClause = orderByClause;
|
||||
}
|
||||
|
||||
public String getOrderByClause() {
|
||||
return orderByClause;
|
||||
}
|
||||
|
||||
public void setDistinct(boolean distinct) {
|
||||
this.distinct = distinct;
|
||||
}
|
||||
|
||||
public boolean isDistinct() {
|
||||
return distinct;
|
||||
}
|
||||
|
||||
public List<Criteria> getOredCriteria() {
|
||||
return oredCriteria;
|
||||
}
|
||||
|
||||
public void or(Criteria criteria) {
|
||||
oredCriteria.add(criteria);
|
||||
}
|
||||
|
||||
public Criteria or() {
|
||||
Criteria criteria = createCriteriaInternal();
|
||||
oredCriteria.add(criteria);
|
||||
return criteria;
|
||||
}
|
||||
|
||||
public Criteria createCriteria() {
|
||||
Criteria criteria = createCriteriaInternal();
|
||||
if (oredCriteria.size() == 0) {
|
||||
oredCriteria.add(criteria);
|
||||
}
|
||||
return criteria;
|
||||
}
|
||||
|
||||
protected Criteria createCriteriaInternal() {
|
||||
Criteria criteria = new Criteria();
|
||||
return criteria;
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
oredCriteria.clear();
|
||||
orderByClause = null;
|
||||
distinct = false;
|
||||
}
|
||||
|
||||
protected abstract static class GeneratedCriteria {
|
||||
protected List<Criterion> criteria;
|
||||
|
||||
protected GeneratedCriteria() {
|
||||
super();
|
||||
criteria = new ArrayList<>();
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
return criteria.size() > 0;
|
||||
}
|
||||
|
||||
public List<Criterion> getAllCriteria() {
|
||||
return criteria;
|
||||
}
|
||||
|
||||
public List<Criterion> getCriteria() {
|
||||
return criteria;
|
||||
}
|
||||
|
||||
protected void addCriterion(String condition) {
|
||||
if (condition == null) {
|
||||
throw new RuntimeException("Value for condition cannot be null");
|
||||
}
|
||||
criteria.add(new Criterion(condition));
|
||||
}
|
||||
|
||||
protected void addCriterion(String condition, Object value, String property) {
|
||||
if (value == null) {
|
||||
throw new RuntimeException("Value for " + property + " cannot be null");
|
||||
}
|
||||
criteria.add(new Criterion(condition, value));
|
||||
}
|
||||
|
||||
protected void addCriterion(String condition, Object value1, Object value2, String property) {
|
||||
if (value1 == null || value2 == null) {
|
||||
throw new RuntimeException("Between values for " + property + " cannot be null");
|
||||
}
|
||||
criteria.add(new Criterion(condition, value1, value2));
|
||||
}
|
||||
|
||||
protected void addCriterionForJDBCDate(String condition, Date value, String property) {
|
||||
if (value == null) {
|
||||
throw new RuntimeException("Value for " + property + " cannot be null");
|
||||
}
|
||||
addCriterion(condition, new java.sql.Date(value.getTime()), property);
|
||||
}
|
||||
|
||||
protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
|
||||
if (values == null || values.size() == 0) {
|
||||
throw new RuntimeException("Value list for " + property + " cannot be null or empty");
|
||||
}
|
||||
List<java.sql.Date> dateList = new ArrayList<>();
|
||||
Iterator<Date> iter = values.iterator();
|
||||
while (iter.hasNext()) {
|
||||
dateList.add(new java.sql.Date(iter.next().getTime()));
|
||||
}
|
||||
addCriterion(condition, dateList, property);
|
||||
}
|
||||
|
||||
protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
|
||||
if (value1 == null || value2 == null) {
|
||||
throw new RuntimeException("Between values for " + property + " cannot be null");
|
||||
}
|
||||
addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
|
||||
}
|
||||
#foreach ($column in $columns)
|
||||
public Criteria and${column.capJavaField}IsNull() {
|
||||
addCriterion("${column.columnName} is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}IsNotNull() {
|
||||
addCriterion("${column.columnName} is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}EqualTo(${column.javaType} value) {
|
||||
addCriterion("${column.columnName} =", value, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}NotEqualTo(${column.javaType} value) {
|
||||
addCriterion("${column.columnName} <>", value, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}GreaterThan(${column.javaType} value) {
|
||||
addCriterion("${column.columnName} >", value, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}GreaterThanOrEqualTo(${column.javaType} value) {
|
||||
addCriterion("${column.columnName} >=", value, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}LessThan(${column.javaType} value) {
|
||||
addCriterion("${column.columnName} <", value, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}LessThanOrEqualTo(${column.javaType} value) {
|
||||
addCriterion("${column.columnName} <=", value, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
#if($column.javaType == 'String')
|
||||
|
||||
public Criteria and${column.capJavaField}Like(${column.javaType} value) {
|
||||
addCriterion("${column.columnName} like", value, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}NotLike(${column.javaType} value) {
|
||||
addCriterion("${column.columnName} not like", value, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
#end
|
||||
public Criteria and${column.capJavaField}In(List<${column.javaType}> values) {
|
||||
addCriterion("${column.columnName} in", values, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}NotIn(List<${column.javaType}> values) {
|
||||
addCriterion("${column.columnName} not in", values, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}Between(${column.javaType} value1, ${column.javaType} value2) {
|
||||
addCriterion("${column.columnName} between", value1, value2, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria and${column.capJavaField}NotBetween(${column.javaType} value1, ${column.javaType} value2) {
|
||||
addCriterion("${column.columnName} not between", value1, value2, "${column.javaField}");
|
||||
return (Criteria) this;
|
||||
}
|
||||
#end
|
||||
}
|
||||
|
||||
public static class Criteria extends GeneratedCriteria {
|
||||
protected Criteria() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
public static class Criterion {
|
||||
private String condition;
|
||||
|
||||
private Object value;
|
||||
|
||||
private Object secondValue;
|
||||
|
||||
private boolean noValue;
|
||||
|
||||
private boolean singleValue;
|
||||
|
||||
private boolean betweenValue;
|
||||
|
||||
private boolean listValue;
|
||||
|
||||
private String typeHandler;
|
||||
|
||||
public String getCondition() {
|
||||
return condition;
|
||||
}
|
||||
|
||||
public Object getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public Object getSecondValue() {
|
||||
return secondValue;
|
||||
}
|
||||
|
||||
public boolean isNoValue() {
|
||||
return noValue;
|
||||
}
|
||||
|
||||
public boolean isSingleValue() {
|
||||
return singleValue;
|
||||
}
|
||||
|
||||
public boolean isBetweenValue() {
|
||||
return betweenValue;
|
||||
}
|
||||
|
||||
public boolean isListValue() {
|
||||
return listValue;
|
||||
}
|
||||
|
||||
public String getTypeHandler() {
|
||||
return typeHandler;
|
||||
}
|
||||
|
||||
protected Criterion(String condition) {
|
||||
super();
|
||||
this.condition = condition;
|
||||
this.typeHandler = null;
|
||||
this.noValue = true;
|
||||
}
|
||||
|
||||
protected Criterion(String condition, Object value, String typeHandler) {
|
||||
super();
|
||||
this.condition = condition;
|
||||
this.value = value;
|
||||
this.typeHandler = typeHandler;
|
||||
if (value instanceof List<?>) {
|
||||
this.listValue = true;
|
||||
} else {
|
||||
this.singleValue = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected Criterion(String condition, Object value) {
|
||||
this(condition, value, null);
|
||||
}
|
||||
|
||||
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
|
||||
super();
|
||||
this.condition = condition;
|
||||
this.value = value;
|
||||
this.secondValue = secondValue;
|
||||
this.typeHandler = typeHandler;
|
||||
this.betweenValue = true;
|
||||
}
|
||||
|
||||
protected Criterion(String condition, Object value, Object secondValue) {
|
||||
this(condition, value, secondValue, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,97 +1,28 @@
|
|||
package ${packageName}.mapper;
|
||||
package ${fullPackage};
|
||||
|
||||
import java.util.List;
|
||||
import ${packageName}.domain.${ClassName};
|
||||
#if($table.sub)
|
||||
import ${packageName}.domain.${subClassName};
|
||||
#end
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import ${_fullClass.domain};
|
||||
|
||||
/**
|
||||
* ${functionName}Mapper接口
|
||||
*
|
||||
* @author ${author}
|
||||
*/
|
||||
public interface ${ClassName}Mapper {
|
||||
/**
|
||||
* 查询${functionName}
|
||||
*
|
||||
* @param ${pkColumn.javaField} ${functionName}主键
|
||||
* @return ${functionName}
|
||||
*/
|
||||
${ClassName} selectBy${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
|
||||
|
||||
public interface ${ClassName}Mapper extends BaseMapper<${ClassName}> {
|
||||
/**
|
||||
* 查询${functionName}列表
|
||||
*
|
||||
*
|
||||
* @param ${className} ${functionName}
|
||||
* @return ${functionName}集合
|
||||
*/
|
||||
List<${ClassName}> selectList(${ClassName} ${className});
|
||||
List<${ClassName}> selectByEntity(${ClassName} ${className});
|
||||
|
||||
/**
|
||||
* 新增${functionName}
|
||||
*
|
||||
* @param ${className} ${functionName}
|
||||
* @return 结果
|
||||
*/
|
||||
int insert(${ClassName} ${className});
|
||||
|
||||
/**
|
||||
* 修改${functionName}
|
||||
*
|
||||
* @param ${className} ${functionName}
|
||||
* @return 结果
|
||||
*/
|
||||
int update(${ClassName} ${className});
|
||||
|
||||
/**
|
||||
* 删除${functionName}
|
||||
*
|
||||
* @param ${pkColumn.javaField} ${functionName}主键
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteBy${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
|
||||
|
||||
/**
|
||||
* 批量删除${functionName}
|
||||
*
|
||||
* @param ${pkColumn.javaField}s 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
int deleteBy${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
|
||||
|
||||
/**
|
||||
* 更新或插入${functionName}
|
||||
*
|
||||
* @param ${className} ${functionName}
|
||||
* @return 结果
|
||||
*/
|
||||
int insertOrUpdate(${ClassName} ${className});
|
||||
#if($table.sub)
|
||||
|
||||
/**
|
||||
* 批量删除${subTable.functionName}
|
||||
*
|
||||
* @param ${pkColumn.javaField}s 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
int delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
|
||||
|
||||
/**
|
||||
* 批量新增${subTable.functionName}
|
||||
*
|
||||
* @param ${subclassName}List ${subTable.functionName}列表
|
||||
* @return 结果
|
||||
*/
|
||||
int batch${subClassName}(List<${subClassName}> ${subclassName}List);
|
||||
|
||||
|
||||
/**
|
||||
* 通过${functionName}主键删除${subTable.functionName}信息
|
||||
*
|
||||
* @param ${pkColumn.javaField} ${functionName}ID
|
||||
* @return 结果
|
||||
*/
|
||||
int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField});
|
||||
#end
|
||||
* 批量软删除
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
int updateDelFlagByIds(@Param("ids") Long[] ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,38 +1,32 @@
|
|||
package ${packageName}.pojo.query;
|
||||
import com.ruoyi.common.core.domain.IQuery;
|
||||
import ${packageName}.domain.${ClassName};
|
||||
import lombok.Setter;
|
||||
package ${fullPackage};
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
import lombok.Data;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* ${functionName} 查询 对象
|
||||
*
|
||||
* @author ${author}
|
||||
*/
|
||||
@Setter
|
||||
public class ${ClassName}Query extends ${ClassName} implements IQuery {
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
@ApiModel(description="${functionName} 查询 对象")
|
||||
@Data
|
||||
public class ${_className.query} {
|
||||
#foreach($column in $columns)
|
||||
#if($column.query)
|
||||
## 根据查询类型生成 EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围
|
||||
## 范围查询, 使用数组实现
|
||||
#if($column.queryType == 'BETWEEN')
|
||||
@ApiModelProperty("${column.genLabel()} 范围")
|
||||
private ${column.javaType}[] ${column.javaField}${column.queryField};
|
||||
#else
|
||||
@ApiModelProperty("${column.genLabel()} 精确匹配")
|
||||
private ${column.javaType} ${column.javaField}${column.queryField};
|
||||
#end
|
||||
|
||||
/**
|
||||
* 请求参数
|
||||
*/
|
||||
private Map<String, Object> params;
|
||||
|
||||
@Override
|
||||
public String getSearchValue() {
|
||||
return this.searchValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getParams() {
|
||||
if (params == null) {
|
||||
params = new HashMap<>();
|
||||
}
|
||||
return params;
|
||||
}
|
||||
#end
|
||||
#end
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,59 +1,149 @@
|
|||
package ${packageName}.service;
|
||||
package ${fullPackage};
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import ${packageName}.domain.${ClassName};
|
||||
#if($table.hasDate())
|
||||
#foreach($date in $table.dateImports())
|
||||
import $date;
|
||||
#end
|
||||
#end
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ${_fullClass.mapper};
|
||||
import #evaluate(${_fullClass.domain});
|
||||
import #evaluate(${_fullClass.query});
|
||||
|
||||
/**
|
||||
* ${functionName}Service接口
|
||||
*
|
||||
* ${functionName}Service业务层处理
|
||||
*
|
||||
*
|
||||
* @author ${author}
|
||||
*/
|
||||
public interface I${ClassName}Service {
|
||||
@Service
|
||||
public class ${ClassName}Service {
|
||||
@Autowired
|
||||
private ${_className.mapper} ${className}Mapper;
|
||||
|
||||
/**
|
||||
* 查询${functionName}
|
||||
*
|
||||
*
|
||||
* @param ${pkColumn.javaField} ${functionName}主键
|
||||
* @return ${functionName}
|
||||
*/
|
||||
${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
|
||||
public ${ClassName} selectBy${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
return ${className}Mapper.selectBy${pkColumn.capJavaField}(${pkColumn.javaField});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询${functionName}列表
|
||||
*
|
||||
* @param ${className} ${functionName}
|
||||
* @return ${functionName}集合
|
||||
*
|
||||
* @param query 查询条件
|
||||
* @param page 分页条件
|
||||
* @return ${functionName}
|
||||
*/
|
||||
List<${ClassName}> select${ClassName}List(${ClassName} ${className});
|
||||
public List<${_className.domain}> selectList(${_className.query} query, Pageable page) {
|
||||
if (page != null) {
|
||||
PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize());
|
||||
}
|
||||
QueryWrapper<${_className.domain}> qw = new QueryWrapper<>();
|
||||
qw.eq("del_flag",0);
|
||||
#foreach($column in $columns)
|
||||
#if($column.query)
|
||||
## 根据查询类型生成 EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围
|
||||
## 范围查询, 使用数组实现
|
||||
#if($column.queryType == 'BETWEEN')
|
||||
${column.javaType}[] ${column.javaField}${column.queryField} = query.get${column.capJavaField}${column.queryField}();
|
||||
if (${column.javaField}${column.queryField} != null && ${column.javaField}${column.queryField}.length == 2) {
|
||||
${column.javaType} start = ${column.javaField}${column.queryField}[0];
|
||||
if (#if($column.javaType == 'String')!StringUtils.isEmpty(start)#{else}start != null#end) {
|
||||
qw.ge("${column.columnName}", start);
|
||||
}
|
||||
${column.javaType} end = ${column.javaField}Range[0];
|
||||
if (#if($column.javaType == 'String')!StringUtils.isEmpty(end) #{else}end != null#end) {
|
||||
qw.le("${column.columnName}", end);
|
||||
}
|
||||
}
|
||||
#else
|
||||
${column.javaType} ${column.javaField}${column.queryField} = query.get${column.capJavaField}${column.queryField}();
|
||||
if (#if($column.javaType == 'String')!StringUtils.isEmpty(${column.javaField}${column.queryField})#{else}${column.javaField}${column.queryField} != null#end) {
|
||||
qw.${column.queryMethod}("${column.columnName}", ${column.javaField}${column.queryField});
|
||||
}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
return ${className}Mapper.selectList(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增${functionName}
|
||||
*
|
||||
*
|
||||
* @param ${className} ${functionName}
|
||||
* @return 结果
|
||||
*/
|
||||
int insert${ClassName}(${ClassName} ${className});
|
||||
#if($table.sub)
|
||||
@Transactional
|
||||
#end
|
||||
public int insert(${ClassName} ${className}) {
|
||||
${className}.setDelFlag(0);
|
||||
#foreach ($column in $columns)
|
||||
#if($column.javaField == 'createTime')
|
||||
${className}.setCreateTime(#if($column.javaType == "Date")new Date()#else${column.javaType}.now()#end);
|
||||
#end
|
||||
#end
|
||||
#if($table.sub)
|
||||
int rows = ${className}Mapper.insert(${className});
|
||||
insert${subClassName}(${className});
|
||||
return rows;
|
||||
#else
|
||||
return ${className}Mapper.insert(${className});
|
||||
#end
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改${functionName}
|
||||
*
|
||||
*
|
||||
* @param ${className} ${functionName}
|
||||
* @return 结果
|
||||
*/
|
||||
int update${ClassName}(${ClassName} ${className});
|
||||
#if($table.sub)
|
||||
@Transactional
|
||||
#end
|
||||
public int update(${ClassName} ${className}) {
|
||||
#if($table.sub)
|
||||
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
|
||||
insert${subClassName}(${className});
|
||||
#end
|
||||
return ${className}Mapper.updateById(${className});
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除${functionName}
|
||||
*
|
||||
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合
|
||||
*
|
||||
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键
|
||||
* @return 结果
|
||||
*/
|
||||
int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
|
||||
#if($table.sub)
|
||||
@Transactional
|
||||
#end
|
||||
public int deleteBy${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s) {
|
||||
return ${className}Mapper.updateDelFlagByIds(${pkColumn.javaField}s);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除${functionName}信息
|
||||
*
|
||||
*
|
||||
* @param ${pkColumn.javaField} ${functionName}主键
|
||||
* @return 结果
|
||||
*/
|
||||
int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
|
||||
public int deleteBy${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
Long[] ${pkColumn.javaField}s = {${pkColumn.javaField}};
|
||||
return ${className}Mapper.updateDelFlagByIds(${pkColumn.javaField}s);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
package ${packageName}.service.impl;
|
||||
package ${fullPackage};
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
#if($table.hasDate())
|
||||
#foreach($date in $table.dateImports())
|
||||
import $date;
|
||||
#end
|
||||
#end
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
#if($table.sub)
|
||||
import java.util.ArrayList;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import ${packageName}.domain.${subClassName};
|
||||
#end
|
||||
import ${packageName}.mapper.${ClassName}Mapper;
|
||||
import ${packageName}.domain.${ClassName};
|
||||
import ${packageName}.service.I${ClassName}Service;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import ${_fullClass.mapper};
|
||||
import ${_fullClass.domain};
|
||||
import ${_fullClass.query};
|
||||
import ${_fullClass.service};
|
||||
|
||||
/**
|
||||
* ${functionName}Service业务层处理
|
||||
|
|
@ -24,9 +24,9 @@ import ${packageName}.service.I${ClassName}Service;
|
|||
* @author ${author}
|
||||
*/
|
||||
@Service
|
||||
public class ${ClassName}ServiceImpl implements I${ClassName}Service {
|
||||
public class ${_className.serviceImpl} implements ${_className.service} {
|
||||
@Autowired
|
||||
private ${ClassName}Mapper ${className}Mapper;
|
||||
private ${_className.mapper} ${className}Mapper;
|
||||
|
||||
/**
|
||||
* 查询${functionName}
|
||||
|
|
@ -35,19 +35,48 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
|
|||
* @return ${functionName}
|
||||
*/
|
||||
@Override
|
||||
public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
public ${ClassName} selectBy${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
return ${className}Mapper.selectBy${pkColumn.capJavaField}(${pkColumn.javaField});
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询${functionName}列表
|
||||
*
|
||||
* @param ${className} ${functionName}
|
||||
* @param query 查询条件
|
||||
* @param page 分页条件
|
||||
* @return ${functionName}
|
||||
*/
|
||||
@Override
|
||||
public List<${ClassName}> select${ClassName}List(${ClassName} ${className}) {
|
||||
return ${className}Mapper.selectList(${className});
|
||||
public List<${_className.domain}> selectList(${_className.query} query, Pageable page) {
|
||||
if (page != null) {
|
||||
PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize());
|
||||
}
|
||||
QueryWrapper<${_className.domain}> qw = new QueryWrapper<>();
|
||||
#foreach($column in $columns)
|
||||
#if($column.query)
|
||||
## 根据查询类型生成 EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围
|
||||
## 范围查询, 使用数组实现
|
||||
#if($column.queryType == 'BETWEEN')
|
||||
${column.javaType}[] ${column.javaField}${column.queryField} = query.get${column.capJavaField}${column.queryField}();
|
||||
if (${column.javaField}${column.queryField} != null && ${column.javaField}${column.queryField}.length == 2) {
|
||||
${column.javaType} start = ${column.javaField}${column.queryField}[0];
|
||||
if (#if($column.javaType == 'String')!StringUtils.isEmpty(start)#{else}start != null#end) {
|
||||
qw.ge("${column.columnName}", start);
|
||||
}
|
||||
${column.javaType} end = ${column.javaField}Range[0];
|
||||
if (#if($column.javaType == 'String')!StringUtils.isEmpty(end) #{else}end != null#end) {
|
||||
qw.le("${column.columnName}", end);
|
||||
}
|
||||
}
|
||||
#else
|
||||
${column.javaType} ${column.javaField}${column.queryField} = query.get${column.capJavaField}${column.queryField}();
|
||||
if (#if($column.javaType == 'String')!StringUtils.isEmpty(${column.javaField}${column.queryField})#{else}${column.javaField}${column.queryField} != null#end) {
|
||||
qw.${column.queryMethod}("${column.columnName}", ${column.javaField}${column.queryField});
|
||||
}
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
return ${className}Mapper.selectList(qw);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -60,7 +89,7 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
|
|||
@Transactional
|
||||
#end
|
||||
@Override
|
||||
public int insert${ClassName}(${ClassName} ${className}) {
|
||||
public int insert(${ClassName} ${className}) {
|
||||
#foreach ($column in $columns)
|
||||
#if($column.javaField == 'createTime')
|
||||
${className}.setCreateTime(#if($column.javaType == "Date")new Date()#else${column.javaType}.now()#end);
|
||||
|
|
@ -85,17 +114,12 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
|
|||
@Transactional
|
||||
#end
|
||||
@Override
|
||||
public int update${ClassName}(${ClassName} ${className}) {
|
||||
#foreach ($column in $columns)
|
||||
#if($column.javaField == 'updateTime')
|
||||
${className}.setUpdateTime(DateUtils.getNowDate());
|
||||
#end
|
||||
#end
|
||||
public int update(${ClassName} ${className}) {
|
||||
#if($table.sub)
|
||||
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
|
||||
insert${subClassName}(${className});
|
||||
#end
|
||||
return ${className}Mapper.update(${className});
|
||||
return ${className}Mapper.updateById(${className});
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -108,11 +132,11 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
|
|||
@Transactional
|
||||
#end
|
||||
@Override
|
||||
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s) {
|
||||
public int deleteBy${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s) {
|
||||
#if($table.sub)
|
||||
${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
|
||||
#end
|
||||
return ${className}Mapper.deleteBy${pkColumn.capJavaField}s(${pkColumn.javaField}s);
|
||||
return ${className}Mapper.deleteBatchIds(Arrays.asList(${pkColumn.javaField}s));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -122,32 +146,10 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
public int deleteBy${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||
#if($table.sub)
|
||||
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
|
||||
#end
|
||||
return ${className}Mapper.deleteBy${pkColumn.capJavaField}(${pkColumn.javaField});
|
||||
return ${className}Mapper.deleteById(${pkColumn.javaField});
|
||||
}
|
||||
#if($table.sub)
|
||||
|
||||
/**
|
||||
* 新增${subTable.functionName}信息
|
||||
*
|
||||
* @param ${className} ${functionName}对象
|
||||
*/
|
||||
public void insert${subClassName}(${ClassName} ${className}) {
|
||||
List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
|
||||
${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();
|
||||
if (StringUtils.isNotNull(${subclassName}List)) {
|
||||
List<${subClassName}> list = new ArrayList<${subClassName}>();
|
||||
for (${subClassName} ${subclassName} : ${subclassName}List) {
|
||||
${subclassName}.set${subTableFkClassName}(${pkColumn.javaField});
|
||||
list.add(${subclassName});
|
||||
}
|
||||
if (list.size() > 0) {
|
||||
${className}Mapper.batch${subClassName}(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
#end
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package ${packageName}.pojo.vo;
|
||||
package ${fullPackage};
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
#if(${table.audit} == 1)
|
||||
import com.bryx.core.common.base.entity.BaseAudit;
|
||||
import ${env.baseAudit};
|
||||
#end
|
||||
#if($table.sub)
|
||||
import ${packageName}.pojo.dto.${subClassName}DTO;
|
||||
|
|
@ -18,7 +20,24 @@ import lombok.Data;
|
|||
@Data
|
||||
public class ${ClassName}VO #if(${table.audit} == 1)extends BaseAudit#end {
|
||||
#foreach ($column in $columns)
|
||||
#if(!$table.isSuperColumn($column.javaField))
|
||||
#if(!$table.isSuperColumn($column.javaField) and $column.javaField != "delFlag")
|
||||
/** $column.columnComment */
|
||||
#if($column.list)
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
#else
|
||||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#if($parentheseIndex != -1)
|
||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
||||
#elseif($column.isDate())
|
||||
@JsonFormat(pattern = "${column.dateFormat}")
|
||||
@Excel(name = "${comment}", width = 30, dateFormat = "${column.dateFormat}")
|
||||
#else
|
||||
@Excel(name = "${comment}")
|
||||
#end
|
||||
#end
|
||||
private $column.javaType $column.javaField;
|
||||
#end
|
||||
#end
|
||||
|
|
|
|||
|
|
@ -1,18 +1,19 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 查询${functionName}列表
|
||||
export function list${BusinessName}(query) {
|
||||
export function list${BusinessName}(query, pageReq) {
|
||||
return request({
|
||||
url: '/${moduleName}/${businessName}/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
url: '/${moduleName}/${className}/list',
|
||||
method: 'post',
|
||||
data: query,
|
||||
params: pageReq
|
||||
})
|
||||
}
|
||||
|
||||
// 查询${functionName}详细
|
||||
export function get${BusinessName}(${pkColumn.javaField}) {
|
||||
return request({
|
||||
url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},
|
||||
url: '/${moduleName}/${className}/' + ${pkColumn.javaField},
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
@ -20,7 +21,7 @@ export function get${BusinessName}(${pkColumn.javaField}) {
|
|||
// 新增${functionName}
|
||||
export function add${BusinessName}(data) {
|
||||
return request({
|
||||
url: '/${moduleName}/${businessName}',
|
||||
url: '/${moduleName}/${className}',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
|
|
@ -29,7 +30,7 @@ export function add${BusinessName}(data) {
|
|||
// 修改${functionName}
|
||||
export function update${BusinessName}(data) {
|
||||
return request({
|
||||
url: '/${moduleName}/${businessName}',
|
||||
url: '/${moduleName}/${className}',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
|
|
@ -38,7 +39,7 @@ export function update${BusinessName}(data) {
|
|||
// 删除${functionName}
|
||||
export function del${BusinessName}(${pkColumn.javaField}) {
|
||||
return request({
|
||||
url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField},
|
||||
url: '/${moduleName}/${className}/' + ${pkColumn.javaField},
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
|
@ -46,8 +47,8 @@ export function del${BusinessName}(${pkColumn.javaField}) {
|
|||
// 导出${functionName}
|
||||
export function export${BusinessName}(query) {
|
||||
return request({
|
||||
url: '/${moduleName}/${businessName}/export',
|
||||
url: '/${moduleName}/${className}/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values('${functionName}', '${parentMenuId}', '1', '${businessName}', '${moduleName}/${businessName}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 1, sysdate(), '', null, '${functionName}菜单');
|
||||
values('${functionName}', '${parentMenuId}', '1', '${className}', '${moduleName}/${className}/index', 1, 0, 'C', '0', '0', '${permissionPrefix}:list', '#', 1, sysdate(), '', null, '${functionName}菜单');
|
||||
|
||||
-- 按钮父菜单ID
|
||||
SELECT @parentId := LAST_INSERT_ID();
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "datetime" || $column.htmlType == "date")
|
||||
#set($valueFormat = 'yyyy-MM-dd HH:mm:ss')
|
||||
#set($valueFormat = 'yyyy-MM-ddTHH:mm:ss')
|
||||
#if($column.htmlType == "date")
|
||||
#set($valueFormat = 'yyyy-MM-dd')
|
||||
#end
|
||||
|
|
@ -143,7 +143,7 @@
|
|||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange">
|
||||
<WmsTable v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
#set($count0 = 0)
|
||||
#foreach($column in $columns)
|
||||
|
|
@ -155,7 +155,7 @@
|
|||
#set($comment=$column.columnComment)
|
||||
#end
|
||||
#if($column.pk)
|
||||
<el-table-column label="${comment}" align="center" prop="${javaField}" />
|
||||
## id字段不展示
|
||||
#elseif($column.list)
|
||||
#if($column.htmlType == "datetime" || $column.htmlType == "date" || $column.htmlType == "time")
|
||||
#set($valueFormat = '')
|
||||
|
|
@ -199,7 +199,7 @@
|
|||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</WmsTable>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
|
|
@ -214,7 +214,7 @@
|
|||
<el-form ref="form" :model="form" :rules="rules" label-width="108px" inline class="dialog-form-two">
|
||||
#foreach($column in $columns)
|
||||
#set($field=$column.javaField)
|
||||
#if($column.insert && !$column.pk)
|
||||
#if($column.insert && !$column.pk && $field!="delFlag")
|
||||
#if(($column.usableColumn) || (!$column.superColumn))
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
|
|
@ -290,7 +290,7 @@
|
|||
</el-radio-group>
|
||||
</el-form-item>
|
||||
#elseif($column.htmlType == "datetime" || $column.htmlType == "date" || $column.htmlType == "time")
|
||||
#set($valueFormat = 'yyyy-MM-dd HH:mm:ss')
|
||||
#set($valueFormat = 'yyyy-MM-ddTHH:mm:ss')
|
||||
#if($column.htmlType == "date")
|
||||
#set($valueFormat = 'yyyy-MM-dd')
|
||||
#elseif($column.htmlType == "time")
|
||||
|
|
@ -322,7 +322,7 @@
|
|||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete${subClassName}">删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
|
||||
<WmsTable :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="序号" align="center" prop="index" width="50"/>
|
||||
#foreach($column in $subTable.columns)
|
||||
|
|
@ -342,7 +342,7 @@
|
|||
</el-table-column>
|
||||
#end
|
||||
#end
|
||||
</el-table>
|
||||
</WmsTable>
|
||||
#end
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
|
@ -354,7 +354,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";
|
||||
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${className}";
|
||||
|
||||
export default {
|
||||
name: "${BusinessName}",
|
||||
|
|
@ -414,7 +414,7 @@ export default {
|
|||
// 表单校验
|
||||
rules: {
|
||||
#foreach ($column in $columns)
|
||||
#if($column.required)
|
||||
#if($column.required && $column.javaField!="delFlag")
|
||||
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||
#if($parentheseIndex != -1)
|
||||
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||
|
|
@ -464,9 +464,13 @@ export default {
|
|||
}
|
||||
#end
|
||||
#end
|
||||
list${BusinessName}(this.queryParams).then(response => {
|
||||
this.${businessName}List = response.rows;
|
||||
this.total = response.total;
|
||||
const {pageNum, pageSize} = this.queryParams;
|
||||
const query = {...this.queryParams, pageNum: undefined, pageSize: undefined};
|
||||
const pageReq = {page: pageNum - 1, size: pageSize};
|
||||
list${BusinessName}(query, pageReq).then(response => {
|
||||
const { content, totalElements } = response
|
||||
this.${businessName}List = content;
|
||||
this.total = totalElements;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
|
@ -479,6 +483,7 @@ export default {
|
|||
reset() {
|
||||
this.form = {
|
||||
#foreach ($column in $columns)
|
||||
#if($column.javaField != "delFlag")
|
||||
#if($column.htmlType == "radio")
|
||||
$column.javaField: #if($column.javaType == "Integer" || $column.javaType == "Long")0#else"0"#end#if($velocityCount != $columns.size()),#end
|
||||
|
||||
|
|
@ -488,6 +493,7 @@ export default {
|
|||
#else
|
||||
$column.javaField: null#if($velocityCount != $columns.size()),#end
|
||||
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
};
|
||||
|
|
@ -529,7 +535,7 @@ export default {
|
|||
this.reset();
|
||||
const ${pkColumn.javaField} = row.${pkColumn.javaField} || this.ids
|
||||
get${BusinessName}(${pkColumn.javaField}).then(response => {
|
||||
this.form = response.data;
|
||||
this.form = response;
|
||||
#foreach ($column in $columns)
|
||||
#if($column.htmlType == "checkbox")
|
||||
this.form.$column.javaField = this.form.${column.javaField}.split(",");
|
||||
|
|
@ -620,7 +626,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return export${BusinessName}(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
this.$download.download(response);
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,30 +15,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<result property="updateTime" column="update_time" />
|
||||
#end
|
||||
</resultMap>
|
||||
#if($table.sub)
|
||||
|
||||
<resultMap id="${ClassName}${subClassName}Result" type="${ClassName}" extends="${ClassName}Result">
|
||||
<collection property="${subclassName}List" notNullColumn="sub_${subTable.pkColumn.columnName}" javaType="java.util.List" resultMap="${subClassName}Result" />
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="${subClassName}" id="${subClassName}Result">
|
||||
#foreach ($column in $subTable.columns)
|
||||
<result property="${column.javaField}" column="sub_${column.columnName}" />
|
||||
#end
|
||||
#if(${subTable.audit} == 1)
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time" />
|
||||
#end
|
||||
</resultMap>
|
||||
#end
|
||||
|
||||
<sql id="select${ClassName}Vo">
|
||||
select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end #if(${table.audit} == 1), create_by, create_time, update_by, update_time#end from ${tableName}
|
||||
select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end #if(${table.audit} == 1) #end from ${tableName}
|
||||
</sql>
|
||||
|
||||
<select id="selectList" parameterType="${ClassName}" resultMap="${ClassName}Result">
|
||||
<select id="selectByEntity" parameterType="${ClassName}" resultMap="${ClassName}Result">
|
||||
<include refid="select${ClassName}Vo"/>
|
||||
<where>
|
||||
#foreach($column in $columns)
|
||||
|
|
@ -69,132 +51,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
#end
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectBy${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}" resultMap="#if($table.sub)${subClassName}Result#else${ClassName}Result#end">
|
||||
#if($table.crud || $table.tree)
|
||||
<include refid="select${ClassName}Vo"/>
|
||||
where ${pkColumn.columnName} = #{${pkColumn.javaField}}
|
||||
#elseif($table.sub)
|
||||
select#foreach($column in $columns) a.$column.columnName#if($velocityCount != $columns.size()),#end#end,
|
||||
#foreach($column in $subTable.columns) b.$column.columnName as sub_$column.columnName#if($velocityCount != $subTable.columns.size()),#end#end
|
||||
|
||||
from ${tableName} a
|
||||
left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName}
|
||||
where a.${pkColumn.columnName} = #{${pkColumn.javaField}}
|
||||
#end
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end>
|
||||
insert into ${tableName}
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
#foreach($column in $columns)
|
||||
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName,</if>
|
||||
#end
|
||||
#if(${table.audit} == 1)
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
#end
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
#foreach($column in $columns)
|
||||
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">#{$column.javaField},</if>
|
||||
#end
|
||||
#if(${table.audit} == 1)
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
#end
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="${ClassName}">
|
||||
update ${tableName}
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
#foreach($column in $columns)
|
||||
#if($column.columnName != $pkColumn.columnName)
|
||||
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName = #{$column.javaField},</if>
|
||||
#end
|
||||
#end
|
||||
#if(${table.audit} == 1)
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
#end
|
||||
</trim>
|
||||
where ${pkColumn.columnName} = #{${pkColumn.javaField}}
|
||||
<update id="updateDelFlagByIds">
|
||||
update ${tableName} set del_flag=1
|
||||
<where>
|
||||
id in <foreach collection="ids" open="(" item="it" close=")" separator=",">#{it}</foreach>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<delete id="deleteBy${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}">
|
||||
delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBy${pkColumn.capJavaField}s" parameterType="String">
|
||||
delete from ${tableName} where ${pkColumn.columnName} in
|
||||
<foreach item="${pkColumn.javaField}" collection="array" open="(" separator="," close=")">
|
||||
#{${pkColumn.javaField}}
|
||||
</foreach>
|
||||
</delete>
|
||||
<insert id="insertOrUpdate" parameterType="${ClassName}" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into ${tableName}
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="$pkColumn.javaField != null">
|
||||
$pkColumn.columnName,
|
||||
</if>
|
||||
#foreach($column in $columns)#if($column.javaField != $pkColumn.javaField) ${column.columnName},#end#end
|
||||
|
||||
#if(${table.audit} == 1)create_by, create_time, update_by, update_time#end
|
||||
|
||||
</trim>
|
||||
values
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="$pkColumn.javaField != null">
|
||||
#{$pkColumn.javaField, jdbcType=$pkColumn.CapColumnType},
|
||||
</if>
|
||||
#foreach($column in $columns)#if($column.javaField != $pkColumn.javaField)#{${column.javaField}, jdbcType=$column.CapColumnType},#end#end
|
||||
|
||||
#if(${table.audit} == 1)#{createBy}, #{createTime}, #{updateBy}, #{updateTime}#end
|
||||
|
||||
</trim>
|
||||
on duplicate key update
|
||||
<trim suffixOverrides=",">
|
||||
<if test="$pkColumn.javaField != null">
|
||||
${pkColumn.javaField} = #{${pkColumn.javaField},jdbcType=${pkColumn.CapColumnType}},
|
||||
</if>
|
||||
#foreach($column in $columns)
|
||||
#if($column.javaField != $pkColumn.javaField)
|
||||
${column.columnName} = #{${column.javaField}, jdbcType=$column.CapColumnType},
|
||||
#end
|
||||
#end
|
||||
#if(${table.audit} == 1)
|
||||
create_by = #{createBy},
|
||||
create_time = #{createTime},
|
||||
update_by = #{updateBy},
|
||||
update_time = #{updateTime},
|
||||
#end
|
||||
</trim>
|
||||
</insert>
|
||||
#if($table.sub)
|
||||
|
||||
<delete id="delete${subClassName}By${subTableFkClassName}s" parameterType="String">
|
||||
delete from ${subTableName} where ${subTableFkName} in
|
||||
<foreach item="${subTableFkclassName}" collection="array" open="(" separator="," close=")">
|
||||
#{${subTableFkclassName}}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="delete${subClassName}By${subTableFkClassName}" parameterType="${pkColumn.javaType}">
|
||||
delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}}
|
||||
</delete>
|
||||
|
||||
<insert id="batch${subClassName}">
|
||||
insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($velocityCount != $subTable.columns.size()),#end#end #if(${table.audit} == 1), create_by, create_time, update_by, update_time#end) values
|
||||
<foreach item="item" index="index" collection="list" separator=",">
|
||||
(#foreach($column in $subTable.columns)#{item.$column.javaField}#if($velocityCount != $subTable.columns.size()), #end#end #if(${table.audit} == 1), #{createBy}, #{createTime}, #{updateBy}, #{updateTime}#end)
|
||||
</foreach>
|
||||
</insert>
|
||||
#end
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -123,8 +123,10 @@ public class InventoryMovementService {
|
|||
.stream().collect(Collectors.toMap(InventoryMovementVO::getId, it -> it));
|
||||
res.forEach(it -> {
|
||||
InventoryMovementVO vo = id2count.get(it.getId());
|
||||
it.setDetailCount(vo.getDetailCount());
|
||||
it.setItemCount(vo.getItemCount());
|
||||
if (vo != null) {
|
||||
it.setDetailCount(vo.getDetailCount());
|
||||
it.setItemCount(vo.getItemCount());
|
||||
}
|
||||
});
|
||||
}
|
||||
return new PageImpl<>(res, page, ((com.github.pagehelper.Page) list).getTotal());
|
||||
|
|
|
|||
Loading…
Reference in New Issue