Commit b5da42f0 authored by jianglingfeng's avatar jianglingfeng

Merge branch 'master' of https://gitee.com/jlf1764/finance_oa

parents e608090b 3e312830
package com.ruoyi.web.controller.finance;
import ch.qos.logback.core.pattern.ConverterUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.EmptyUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.FncSubjectType;
import com.ruoyi.system.domain.vo.FncSubjectTypeVo;
import com.ruoyi.system.service.IFncSubjectTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.core.page.TableDataInfo;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 科目类别Controller
*
* @author jlf
* @date 2022-11-17
*/
@Api(tags = "科目类别Controller")
@RestController
@RequestMapping("/finance/subjectType")
//@RequiredArgsConstructor(onConstructor = @Autowired)
public class FncSubjectTypeController extends BaseController {
@Autowired
private IFncSubjectTypeService fncSubjectTypeService;
@ApiOperation("查询科目类别列表")
@PreAuthorize("@ss.hasPermi('finance:subjectType:list')")
@GetMapping("/list")
public TableDataInfo<FncSubjectTypeVo> list(FncSubjectTypeVo entity) {
return fncSubjectTypeService.queryList(entity);
}
@ApiOperation("查询科目类别所有列表")
@GetMapping("/listAll")
public AjaxResult listAll(FncSubjectTypeVo entity) {
return AjaxResult.success("查询成功", fncSubjectTypeService.queryAll(entity));
}
/**
* 查询部门列表(排除节点)
*/
@PreAuthorize("@ss.hasPermi('finance:subjectType:list')")
@GetMapping("/list/exclude/{id}")
public AjaxResult excludeChild(@PathVariable(value = "id", required = false) Long id)
{
List<FncSubjectType> list = fncSubjectTypeService.list();
List<Long> ids = new ArrayList<>();
//递归获取
if (EmptyUtil.isNotEmpty(list) && EmptyUtil.isNotEmpty(id)) {
list.stream().filter(item -> item.getParentId() == 0).forEach(item -> {
if (item.getSubjectTypeId().equals(id)) {
return;
} else {
list.stream().filter(child -> child.getParentId() == item.getSubjectTypeId()).forEach(child -> {
ids.add(child.getSubjectTypeId());
excludeChild(list,child,id,ids);
});
}
});
}
list.removeIf(d -> d.getSubjectTypeId().intValue() == id || ids.contains(d.getSubjectTypeId()));
return success(list);
}
public void excludeChild(List<FncSubjectType> list,FncSubjectType entity, Long id, List<Long> ids) {
if (EmptyUtil.isNotEmpty(entity)) {
if (entity.getSubjectTypeId().equals(id)) {
return;
} else {
list.stream().filter(item -> item.getParentId() == entity.getSubjectTypeId()).forEach(child -> {
ids.add(child.getSubjectTypeId());
excludeChild(list,child,id,ids);
});
}
}
}
@ApiOperation("导出科目类别列表")
@PreAuthorize("@ss.hasPermi('finance:subjectType:export')")
@Log(title = "科目类别", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, FncSubjectTypeVo entity) {
List<FncSubjectTypeVo> list = fncSubjectTypeService.queryAll(entity);
ExcelUtil<FncSubjectTypeVo> util = new ExcelUtil<>(FncSubjectTypeVo.class);
util.exportExcel(response, list, "科目类别数据");
}
@ApiOperation("获取科目类别详细信息")
@PreAuthorize("@ss.hasPermi('finance:subjectType:query')")
@GetMapping(value = "/getInfo/{subjectTypeId}")
public AjaxResult getInfo(@PathVariable("subjectTypeId") Long subjectTypeId) {
return AjaxResult.success("查询成功", fncSubjectTypeService.queryById(subjectTypeId));
}
@ApiOperation("新增科目类别")
@PreAuthorize("@ss.hasPermi('finance:subjectType:add')")
@Log(title = "科目类别", businessType = BusinessType.INSERT)
@PostMapping("add")
public AjaxResult add(@RequestBody FncSubjectType entity) {
return toAjax(fncSubjectTypeService.save(entity));
}
@ApiOperation("修改科目类别")
@PreAuthorize("@ss.hasPermi('finance:subjectType:edit')")
@Log(title = "科目类别", businessType = BusinessType.UPDATE)
@PostMapping("edit")
public AjaxResult edit(@RequestBody FncSubjectType entity) {
return toAjax(fncSubjectTypeService.updateById(entity));
}
@ApiOperation("删除科目类别")
@PreAuthorize("@ss.hasPermi('finance:subjectType:remove')")
@Log(title = "科目类别", businessType = BusinessType.DELETE)
@GetMapping("/remove/{subjectTypeIds}")
public AjaxResult remove(@PathVariable Long[] subjectTypeIds) {
return toAjax(fncSubjectTypeService.removeByIds(Arrays.asList(subjectTypeIds)) ? 1 : 0);
}
}
...@@ -6,7 +6,7 @@ spring: ...@@ -6,7 +6,7 @@ spring:
druid: druid:
# 主库数据源 # 主库数据源
master: master:
url: jdbc:mysql://192.168.182.130:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root username: root
password: root password: root
# 从库数据源 # 从库数据源
......
...@@ -146,6 +146,12 @@ ...@@ -146,6 +146,12 @@
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
</dependency> </dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.2</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
......
...@@ -49,6 +49,8 @@ public class BaseEntity implements Serializable { ...@@ -49,6 +49,8 @@ public class BaseEntity implements Serializable {
@TableField(fill = FieldFill.INSERT_UPDATE) @TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime; private Date updateTime;
/** /**
* 请求参数 * 请求参数
*/ */
......
package com.ruoyi.common.core.page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* 分页 Page 增强对象
*
* @param <T> 数据库实体
* @param <K> vo实体
* @author Lion Li
*/
@Data
@Accessors(chain = true)
public class PagePlus<T, K> implements IPage<T> {
/**
* domain实体列表
*/
private List<T> records = Collections.emptyList();
/**
* vo实体列表
*/
private List<K> recordsVo = Collections.emptyList();
/**
* 总数
*/
private long total = 0L;
/**
* 页长度
*/
private long size = 10L;
/**
* 当前页
*/
private long current = 1L;
/**
* 排序字段信息
*/
private List<OrderItem> orders = new ArrayList<>();
/**
* 自动优化 COUNT SQL
*/
private boolean optimizeCountSql = true;
/**
* 是否进行 count 查询
*/
private boolean isSearchCount = true;
/**
* 是否命中count缓存
*/
private boolean hitCount = false;
/**
* countId
*/
private String countId;
/**
* 最大limit
*/
private Long maxLimit;
public PagePlus() {
}
public PagePlus(long current, long size) {
this(current, size, 0L);
}
public PagePlus(long current, long size, long total) {
this(current, size, total, true);
}
public PagePlus(long current, long size, boolean isSearchCount) {
this(current, size, 0L, isSearchCount);
}
public PagePlus(long current, long size, long total, boolean isSearchCount) {
if (current > 1L) {
this.current = current;
}
this.size = size;
this.total = total;
this.isSearchCount = isSearchCount;
}
public static <T, K> PagePlus<T, K> of(long current, long size) {
return of(current, size, 0);
}
public static <T, K> PagePlus<T, K> of(long current, long size, long total) {
return of(current, size, total, true);
}
public static <T, K> PagePlus<T, K> of(long current, long size, boolean searchCount) {
return of(current, size, 0, searchCount);
}
public static <T, K> PagePlus<T, K> of(long current, long size, long total, boolean searchCount) {
return new PagePlus<>(current, size, total, searchCount);
}
@Override
public String countId() {
return this.getCountId();
}
@Override
public Long maxLimit() {
return this.getMaxLimit();
}
public PagePlus<T, K> addOrder(OrderItem... items) {
this.orders.addAll(Arrays.asList(items));
return this;
}
public PagePlus<T, K> addOrder(List<OrderItem> items) {
this.orders.addAll(items);
return this;
}
@Override
public List<OrderItem> orders() {
return this.getOrders();
}
@Override
public boolean optimizeCountSql() {
return this.optimizeCountSql;
}
@Override
public long getPages() {
// 解决 github issues/3208
return IPage.super.getPages();
}
}
package com.ruoyi.common.core.page; package com.ruoyi.common.core.page;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
* 表格分页数据对象 * 表格分页数据对象
* *
* @author ruoyi * @author Lion Li
*/ */
public class TableDataInfo implements Serializable
{ @Data
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel("分页响应对象")
public class TableDataInfo<T> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 总记录数 */ /**
* 总记录数
*/
@ApiModelProperty("总记录数")
private long total; private long total;
/** 列表数据 */ /**
private List<?> rows; * 列表数据
*/
@ApiModelProperty("列表数据")
private List<T> rows;
/** 消息状态码 */ /**
* 消息状态码
*/
@ApiModelProperty("消息状态码")
private int code; private int code;
/** 消息内容 */
private String msg;
/** /**
* 表格数据对象 * 消息内容
*/ */
public TableDataInfo() @ApiModelProperty("消息内容")
{ private String msg;
}
/** /**
* 分页 * 分页
* *
* @param list 列表数据 * @param list 列表数据
* @param total 总记录数 * @param total 总记录数
*/ */
public TableDataInfo(List<?> list, int total) public TableDataInfo(List<T> list, long total) {
{
this.rows = list; this.rows = list;
this.total = total; this.total = total;
} }
public long getTotal()
{
return total;
}
public void setTotal(long total)
{
this.total = total;
}
public List<?> getRows()
{
return rows;
}
public void setRows(List<?> rows)
{
this.rows = rows;
}
public int getCode()
{
return code;
}
public void setCode(int code)
{
this.code = code;
}
public String getMsg()
{
return msg;
}
public void setMsg(String msg)
{
this.msg = msg;
}
} }
package com.ruoyi.common.utils;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 一站式健全判空工具类(可判空 集合、字符串、对象 等各种特殊情况)
*
* @author daizhichao
* @date 2021/9/7
*/
public class EmptyUtil {
/**
* 对象是否为空
*
* @param o String,List,Map,Object[],int[],long[]
* @return
*/
@SuppressWarnings("rawtypes")
public static boolean isEmpty(Object o) {
if (o == null) {
return true;
}
if (o instanceof String) {
if ("".equals(o.toString().trim())) {
return true;
}
} else if (o instanceof List) {
if (((List) o).size() == 0) {
return true;
}
} else if (o instanceof Map) {
if (((Map) o).size() == 0) {
return true;
}
} else if (o instanceof Set) {
if (((Set) o).size() == 0) {
return true;
}
} else if (o instanceof Object[]) {
if (((Object[]) o).length == 0) {
return true;
}
} else if (o instanceof int[]) {
if (((int[]) o).length == 0) {
return true;
}
} else if (o instanceof long[]) {
if (((long[]) o).length == 0) {
return true;
}
}
return false;
}
public static boolean isEmpty(Object... o) {
boolean empty = false;
for (Object o1 : o) {
if (isEmpty(o1)) {
empty = true;
break;
}
}
return empty;
}
/**
* 对象是否不为空
*
* @param o String,List,Map,Object[],int[],long[]
* @return
*/
public static boolean isNotEmpty(Object o) {
return !isEmpty(o);
}
/**
* 对象组中是否存在 Empty Object
*
* @param os 对象组
* @return
*/
public static boolean isOneEmpty(Object... os) {
for (Object o : os) {
return isEmpty(o);
}
return false;
}
/**
* 对象组中是否全是 Empty Object
*
* @param os
* @return
*/
public static boolean isAllEmpty(Object... os) {
for (Object o : os) {
if (!isEmpty(o)) {
return false;
}
}
return true;
}
}
package com.ruoyi.common.utils; package com.ruoyi.common.utils;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.ruoyi.common.core.page.PageDomain; import com.ruoyi.common.core.page.PageDomain;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.page.TableSupport; import com.ruoyi.common.core.page.TableSupport;
import com.ruoyi.common.utils.sql.SqlUtil; import com.ruoyi.common.utils.sql.SqlUtil;
import java.util.List;
/** /**
* 分页工具类 * 分页工具类
* *
* @author ruoyi * @author ruoyi
*/ */
public class PageUtils extends PageHelper public class PageUtils extends PageHelper {
{
/** /**
* 设置请求分页数据 * 设置请求分页数据
*/ */
public static void startPage() public static void startPage() {
{
PageDomain pageDomain = TableSupport.buildPageRequest(); PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum(); Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize(); Integer pageSize = pageDomain.getPageSize();
...@@ -28,8 +34,122 @@ public class PageUtils extends PageHelper ...@@ -28,8 +34,122 @@ public class PageUtils extends PageHelper
/** /**
* 清理分页的线程变量 * 清理分页的线程变量
*/ */
public static void clearPage() public static void clearPage() {
{
PageHelper.clearPage(); PageHelper.clearPage();
} }
/**
* 当前记录起始索引
*/
public static final String PAGE_NUM = "pageNum";
/**
* 每页显示记录数
*/
public static final String PAGE_SIZE = "pageSize";
/**
* 排序列
*/
public static final String ORDER_BY_COLUMN = "orderByColumn";
/**
* 排序的方向 "desc" 或者 "asc".
*/
public static final String IS_ASC = "isAsc";
/**
* 当前记录起始索引 默认值
*/
public static final int DEFAULT_PAGE_NUM = 1;
/**
* 每页显示记录数 默认值 默认查全部
*/
public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
/**
* 构建 plus 分页对象
*
* @param <T> domain 实体
* @param <K> vo 实体
* @return 分页对象
*/
public static <T, K> PagePlus<T, K> buildPagePlus() {
Integer pageNum = ServletUtils.getParameterToInt(PAGE_NUM, DEFAULT_PAGE_NUM);
Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE, DEFAULT_PAGE_SIZE);
String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN);
String isAsc = ServletUtils.getParameter(IS_ASC);
PagePlus<T, K> page = new PagePlus<>(pageNum, pageSize);
if (StrUtil.isNotBlank(orderByColumn)) {
String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
if ("asc".equals(isAsc)) {
page.addOrder(OrderItem.asc(orderBy));
} else if ("desc".equals(isAsc)) {
page.addOrder(OrderItem.desc(orderBy));
}
}
return page;
}
public static <T> Page<T> buildPage() {
return buildPage(null, null);
}
/**
* 构建 MP 普通分页对象
*
* @param <T> domain 实体
* @return 分页对象
*/
public static <T> Page<T> buildPage(String defaultOrderByColumn, String defaultIsAsc) {
Integer pageNum = ServletUtils.getParameterToInt(PAGE_NUM, DEFAULT_PAGE_NUM);
Integer pageSize = ServletUtils.getParameterToInt(PAGE_SIZE, DEFAULT_PAGE_SIZE);
String orderByColumn = ServletUtils.getParameter(ORDER_BY_COLUMN, defaultOrderByColumn);
String isAsc = ServletUtils.getParameter(IS_ASC, defaultIsAsc);
// 兼容前端排序类型
if ("ascending".equals(isAsc)) {
isAsc = "asc";
} else if ("descending".equals(isAsc)) {
isAsc = "desc";
}
Page<T> page = new Page<>(pageNum, pageSize);
if (StrUtil.isNotBlank(orderByColumn)) {
String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
orderBy = StrUtil.toUnderlineCase(orderBy);
if ("asc".equals(isAsc)) {
page.addOrder(OrderItem.asc(orderBy));
} else if ("desc".equals(isAsc)) {
page.addOrder(OrderItem.desc(orderBy));
}
}
return page;
}
public static <T, K> TableDataInfo<K> buildDataInfo(PagePlus<T, K> page) {
TableDataInfo<K> rspData = new TableDataInfo<>();
rspData.setCode(HttpStatus.HTTP_OK);
rspData.setMsg("查询成功");
rspData.setRows(page.getRecordsVo());
rspData.setTotal(page.getTotal());
return rspData;
}
public static <T> TableDataInfo<T> buildDataInfo(Page<T> page) {
TableDataInfo<T> rspData = new TableDataInfo<>();
rspData.setCode(HttpStatus.HTTP_OK);
rspData.setMsg("查询成功");
rspData.setRows(page.getRecords());
rspData.setTotal(page.getTotal());
return rspData;
}
public static <T> TableDataInfo<T> buildDataInfo(List<T> list) {
TableDataInfo<T> rspData = new TableDataInfo<>();
rspData.setCode(HttpStatus.HTTP_OK);
rspData.setMsg("查询成功");
rspData.setRows(list);
rspData.setTotal(list.size());
return rspData;
}
} }
package com.ruoyi.generator.util; package com.ruoyi.generator.util;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.apache.velocity.VelocityContext;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.constant.GenConstants; import com.ruoyi.common.constant.GenConstants;
...@@ -12,21 +7,32 @@ import com.ruoyi.common.utils.DateUtils; ...@@ -12,21 +7,32 @@ import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn; import com.ruoyi.generator.domain.GenTableColumn;
import org.apache.velocity.VelocityContext;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/** /**
* 模板处理工具类 * 模板处理工具类
* *
* @author ruoyi * @author ruoyi
*/ */
public class VelocityUtils public class VelocityUtils {
{ /**
/** 项目空间路径 */ * 项目空间路径
*/
private static final String PROJECT_PATH = "main/java"; private static final String PROJECT_PATH = "main/java";
/** mybatis空间路径 */ /**
* mybatis空间路径
*/
private static final String MYBATIS_PATH = "main/resources/mapper"; private static final String MYBATIS_PATH = "main/resources/mapper";
/** 默认上级菜单,系统工具 */ /**
* 默认上级菜单,系统工具
*/
private static final String DEFAULT_PARENT_MENU_ID = "3"; private static final String DEFAULT_PARENT_MENU_ID = "3";
/** /**
...@@ -34,8 +40,7 @@ public class VelocityUtils ...@@ -34,8 +40,7 @@ public class VelocityUtils
* *
* @return 模板列表 * @return 模板列表
*/ */
public static VelocityContext prepareContext(GenTable genTable) public static VelocityContext prepareContext(GenTable genTable) {
{
String moduleName = genTable.getModuleName(); String moduleName = genTable.getModuleName();
String businessName = genTable.getBusinessName(); String businessName = genTable.getBusinessName();
String packageName = genTable.getPackageName(); String packageName = genTable.getPackageName();
...@@ -62,27 +67,23 @@ public class VelocityUtils ...@@ -62,27 +67,23 @@ public class VelocityUtils
velocityContext.put("table", genTable); velocityContext.put("table", genTable);
velocityContext.put("dicts", getDicts(genTable)); velocityContext.put("dicts", getDicts(genTable));
setMenuVelocityContext(velocityContext, genTable); setMenuVelocityContext(velocityContext, genTable);
if (GenConstants.TPL_TREE.equals(tplCategory)) if (GenConstants.TPL_TREE.equals(tplCategory)) {
{
setTreeVelocityContext(velocityContext, genTable); setTreeVelocityContext(velocityContext, genTable);
} }
if (GenConstants.TPL_SUB.equals(tplCategory)) if (GenConstants.TPL_SUB.equals(tplCategory)) {
{
setSubVelocityContext(velocityContext, genTable); setSubVelocityContext(velocityContext, genTable);
} }
return velocityContext; return velocityContext;
} }
public static void setMenuVelocityContext(VelocityContext context, GenTable genTable) public static void setMenuVelocityContext(VelocityContext context, GenTable genTable) {
{
String options = genTable.getOptions(); String options = genTable.getOptions();
JSONObject paramsObj = JSON.parseObject(options); JSONObject paramsObj = JSON.parseObject(options);
String parentMenuId = getParentMenuId(paramsObj); String parentMenuId = getParentMenuId(paramsObj);
context.put("parentMenuId", parentMenuId); context.put("parentMenuId", parentMenuId);
} }
public static void setTreeVelocityContext(VelocityContext context, GenTable genTable) public static void setTreeVelocityContext(VelocityContext context, GenTable genTable) {
{
String options = genTable.getOptions(); String options = genTable.getOptions();
JSONObject paramsObj = JSON.parseObject(options); JSONObject paramsObj = JSON.parseObject(options);
String treeCode = getTreecode(paramsObj); String treeCode = getTreecode(paramsObj);
...@@ -93,18 +94,15 @@ public class VelocityUtils ...@@ -93,18 +94,15 @@ public class VelocityUtils
context.put("treeParentCode", treeParentCode); context.put("treeParentCode", treeParentCode);
context.put("treeName", treeName); context.put("treeName", treeName);
context.put("expandColumn", getExpandColumn(genTable)); context.put("expandColumn", getExpandColumn(genTable));
if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) {
{
context.put("tree_parent_code", paramsObj.getString(GenConstants.TREE_PARENT_CODE)); context.put("tree_parent_code", paramsObj.getString(GenConstants.TREE_PARENT_CODE));
} }
if (paramsObj.containsKey(GenConstants.TREE_NAME)) if (paramsObj.containsKey(GenConstants.TREE_NAME)) {
{
context.put("tree_name", paramsObj.getString(GenConstants.TREE_NAME)); context.put("tree_name", paramsObj.getString(GenConstants.TREE_NAME));
} }
} }
public static void setSubVelocityContext(VelocityContext context, GenTable genTable) public static void setSubVelocityContext(VelocityContext context, GenTable genTable) {
{
GenTable subTable = genTable.getSubTable(); GenTable subTable = genTable.getSubTable();
String subTableName = genTable.getSubTableName(); String subTableName = genTable.getSubTableName();
String subTableFkName = genTable.getSubTableFkName(); String subTableFkName = genTable.getSubTableFkName();
...@@ -126,10 +124,10 @@ public class VelocityUtils ...@@ -126,10 +124,10 @@ public class VelocityUtils
* *
* @return 模板列表 * @return 模板列表
*/ */
public static List<String> getTemplateList(String tplCategory) public static List<String> getTemplateList(String tplCategory) {
{
List<String> templates = new ArrayList<String>(); List<String> templates = new ArrayList<String>();
templates.add("vm/java/domain.java.vm"); templates.add("vm/java/domain.java.vm");
templates.add("vm/java/vo.java.vm");
templates.add("vm/java/mapper.java.vm"); templates.add("vm/java/mapper.java.vm");
templates.add("vm/java/service.java.vm"); templates.add("vm/java/service.java.vm");
templates.add("vm/java/serviceImpl.java.vm"); templates.add("vm/java/serviceImpl.java.vm");
...@@ -137,16 +135,11 @@ public class VelocityUtils ...@@ -137,16 +135,11 @@ public class VelocityUtils
templates.add("vm/xml/mapper.xml.vm"); templates.add("vm/xml/mapper.xml.vm");
templates.add("vm/sql/sql.vm"); templates.add("vm/sql/sql.vm");
templates.add("vm/js/api.js.vm"); templates.add("vm/js/api.js.vm");
if (GenConstants.TPL_CRUD.equals(tplCategory)) if (GenConstants.TPL_CRUD.equals(tplCategory)) {
{
templates.add("vm/vue/index.vue.vm"); templates.add("vm/vue/index.vue.vm");
} } else if (GenConstants.TPL_TREE.equals(tplCategory)) {
else if (GenConstants.TPL_TREE.equals(tplCategory))
{
templates.add("vm/vue/index-tree.vue.vm"); templates.add("vm/vue/index-tree.vue.vm");
} } else if (GenConstants.TPL_SUB.equals(tplCategory)) {
else if (GenConstants.TPL_SUB.equals(tplCategory))
{
templates.add("vm/vue/index.vue.vm"); templates.add("vm/vue/index.vue.vm");
templates.add("vm/java/sub-domain.java.vm"); templates.add("vm/java/sub-domain.java.vm");
} }
...@@ -156,8 +149,7 @@ public class VelocityUtils ...@@ -156,8 +149,7 @@ public class VelocityUtils
/** /**
* 获取文件名 * 获取文件名
*/ */
public static String getFileName(String template, GenTable genTable) public static String getFileName(String template, GenTable genTable) {
{
// 文件名称 // 文件名称
String fileName = ""; String fileName = "";
// 包路径 // 包路径
...@@ -173,48 +165,31 @@ public class VelocityUtils ...@@ -173,48 +165,31 @@ public class VelocityUtils
String mybatisPath = MYBATIS_PATH + "/" + moduleName; String mybatisPath = MYBATIS_PATH + "/" + moduleName;
String vuePath = "vue"; String vuePath = "vue";
if (template.contains("domain.java.vm")) if (template.contains("domain.java.vm")) {
{
fileName = StringUtils.format("{}/domain/{}.java", javaPath, className); fileName = StringUtils.format("{}/domain/{}.java", javaPath, className);
} }
if (template.contains("sub-domain.java.vm") && StringUtils.equals(GenConstants.TPL_SUB, genTable.getTplCategory())) if (template.contains("vo.java.vm")) {
{ fileName = StringUtils.format("{}/vo/{}.java", javaPath, className + "Vo");
fileName = StringUtils.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName());
} }
else if (template.contains("mapper.java.vm")) if (template.contains("sub-domain.java.vm") && StringUtils.equals(GenConstants.TPL_SUB, genTable.getTplCategory())) {
{ fileName = StringUtils.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName());
} else if (template.contains("mapper.java.vm")) {
fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className); fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className);
} } else if (template.contains("service.java.vm")) {
else if (template.contains("service.java.vm"))
{
fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className); fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className);
} } else if (template.contains("serviceImpl.java.vm")) {
else if (template.contains("serviceImpl.java.vm"))
{
fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className); fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className);
} } else if (template.contains("controller.java.vm")) {
else if (template.contains("controller.java.vm"))
{
fileName = StringUtils.format("{}/controller/{}Controller.java", javaPath, className); fileName = StringUtils.format("{}/controller/{}Controller.java", javaPath, className);
} } else if (template.contains("mapper.xml.vm")) {
else if (template.contains("mapper.xml.vm"))
{
fileName = StringUtils.format("{}/{}Mapper.xml", mybatisPath, className); fileName = StringUtils.format("{}/{}Mapper.xml", mybatisPath, className);
} } else if (template.contains("sql.vm")) {
else if (template.contains("sql.vm"))
{
fileName = businessName + "Menu.sql"; fileName = businessName + "Menu.sql";
} } else if (template.contains("api.js.vm")) {
else if (template.contains("api.js.vm"))
{
fileName = StringUtils.format("{}/api/{}/{}.js", vuePath, moduleName, businessName); fileName = StringUtils.format("{}/api/{}/{}.js", vuePath, moduleName, businessName);
} } else if (template.contains("index.vue.vm")) {
else if (template.contains("index.vue.vm"))
{
fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName); fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
} } else if (template.contains("index-tree.vue.vm")) {
else if (template.contains("index-tree.vue.vm"))
{
fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName); fileName = StringUtils.format("{}/views/{}/{}/index.vue", vuePath, moduleName, businessName);
} }
return fileName; return fileName;
...@@ -226,36 +201,29 @@ public class VelocityUtils ...@@ -226,36 +201,29 @@ public class VelocityUtils
* @param packageName 包名称 * @param packageName 包名称
* @return 包前缀名称 * @return 包前缀名称
*/ */
public static String getPackagePrefix(String packageName) public static String getPackagePrefix(String packageName) {
{
int lastIndex = packageName.lastIndexOf("."); int lastIndex = packageName.lastIndexOf(".");
return StringUtils.substring(packageName, 0, lastIndex); return StringUtils.substring(packageName, 0, lastIndex);
} }
/** /**
* 根据列类型获取导入包 * 根据列类型获取导入包
* *
* @param genTable 业务表对象 * @param genTable 业务表对象
* @return 返回需要导入的包列表 * @return 返回需要导入的包列表
*/ */
public static HashSet<String> getImportList(GenTable genTable) public static HashSet<String> getImportList(GenTable genTable) {
{
List<GenTableColumn> columns = genTable.getColumns(); List<GenTableColumn> columns = genTable.getColumns();
GenTable subGenTable = genTable.getSubTable(); GenTable subGenTable = genTable.getSubTable();
HashSet<String> importList = new HashSet<String>(); HashSet<String> importList = new HashSet<String>();
if (StringUtils.isNotNull(subGenTable)) if (StringUtils.isNotNull(subGenTable)) {
{
importList.add("java.util.List"); importList.add("java.util.List");
} }
for (GenTableColumn column : columns) for (GenTableColumn column : columns) {
{ if (!column.isSuperColumn() && GenConstants.TYPE_DATE.equals(column.getJavaType())) {
if (!column.isSuperColumn() && GenConstants.TYPE_DATE.equals(column.getJavaType()))
{
importList.add("java.util.Date"); importList.add("java.util.Date");
importList.add("com.fasterxml.jackson.annotation.JsonFormat"); importList.add("com.fasterxml.jackson.annotation.JsonFormat");
} } else if (!column.isSuperColumn() && GenConstants.TYPE_BIGDECIMAL.equals(column.getJavaType())) {
else if (!column.isSuperColumn() && GenConstants.TYPE_BIGDECIMAL.equals(column.getJavaType()))
{
importList.add("java.math.BigDecimal"); importList.add("java.math.BigDecimal");
} }
} }
...@@ -264,17 +232,15 @@ public class VelocityUtils ...@@ -264,17 +232,15 @@ public class VelocityUtils
/** /**
* 根据列类型获取字典组 * 根据列类型获取字典组
* *
* @param genTable 业务表对象 * @param genTable 业务表对象
* @return 返回字典组 * @return 返回字典组
*/ */
public static String getDicts(GenTable genTable) public static String getDicts(GenTable genTable) {
{
List<GenTableColumn> columns = genTable.getColumns(); List<GenTableColumn> columns = genTable.getColumns();
Set<String> dicts = new HashSet<String>(); Set<String> dicts = new HashSet<String>();
addDicts(dicts, columns); addDicts(dicts, columns);
if (StringUtils.isNotNull(genTable.getSubTable())) if (StringUtils.isNotNull(genTable.getSubTable())) {
{
List<GenTableColumn> subColumns = genTable.getSubTable().getColumns(); List<GenTableColumn> subColumns = genTable.getSubTable().getColumns();
addDicts(dicts, subColumns); addDicts(dicts, subColumns);
} }
...@@ -283,18 +249,15 @@ public class VelocityUtils ...@@ -283,18 +249,15 @@ public class VelocityUtils
/** /**
* 添加字典列表 * 添加字典列表
* *
* @param dicts 字典列表 * @param dicts 字典列表
* @param columns 列集合 * @param columns 列集合
*/ */
public static void addDicts(Set<String> dicts, List<GenTableColumn> columns) public static void addDicts(Set<String> dicts, List<GenTableColumn> columns) {
{ for (GenTableColumn column : columns) {
for (GenTableColumn column : columns)
{
if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny( if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny(
column.getHtmlType(), column.getHtmlType(),
new String[] { GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX })) new String[]{GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX})) {
{
dicts.add("'" + column.getDictType() + "'"); dicts.add("'" + column.getDictType() + "'");
} }
} }
...@@ -303,12 +266,11 @@ public class VelocityUtils ...@@ -303,12 +266,11 @@ public class VelocityUtils
/** /**
* 获取权限前缀 * 获取权限前缀
* *
* @param moduleName 模块名称 * @param moduleName 模块名称
* @param businessName 业务名称 * @param businessName 业务名称
* @return 返回权限前缀 * @return 返回权限前缀
*/ */
public static String getPermissionPrefix(String moduleName, String businessName) public static String getPermissionPrefix(String moduleName, String businessName) {
{
return StringUtils.format("{}:{}", moduleName, businessName); return StringUtils.format("{}:{}", moduleName, businessName);
} }
...@@ -318,11 +280,9 @@ public class VelocityUtils ...@@ -318,11 +280,9 @@ public class VelocityUtils
* @param paramsObj 生成其他选项 * @param paramsObj 生成其他选项
* @return 上级菜单ID字段 * @return 上级菜单ID字段
*/ */
public static String getParentMenuId(JSONObject paramsObj) public static String getParentMenuId(JSONObject paramsObj) {
{
if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID)
&& StringUtils.isNotEmpty(paramsObj.getString(GenConstants.PARENT_MENU_ID))) && StringUtils.isNotEmpty(paramsObj.getString(GenConstants.PARENT_MENU_ID))) {
{
return paramsObj.getString(GenConstants.PARENT_MENU_ID); return paramsObj.getString(GenConstants.PARENT_MENU_ID);
} }
return DEFAULT_PARENT_MENU_ID; return DEFAULT_PARENT_MENU_ID;
...@@ -334,10 +294,8 @@ public class VelocityUtils ...@@ -334,10 +294,8 @@ public class VelocityUtils
* @param paramsObj 生成其他选项 * @param paramsObj 生成其他选项
* @return 树编码 * @return 树编码
*/ */
public static String getTreecode(JSONObject paramsObj) public static String getTreecode(JSONObject paramsObj) {
{ if (paramsObj.containsKey(GenConstants.TREE_CODE)) {
if (paramsObj.containsKey(GenConstants.TREE_CODE))
{
return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE)); return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE));
} }
return StringUtils.EMPTY; return StringUtils.EMPTY;
...@@ -349,10 +307,8 @@ public class VelocityUtils ...@@ -349,10 +307,8 @@ public class VelocityUtils
* @param paramsObj 生成其他选项 * @param paramsObj 生成其他选项
* @return 树父编码 * @return 树父编码
*/ */
public static String getTreeParentCode(JSONObject paramsObj) public static String getTreeParentCode(JSONObject paramsObj) {
{ if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) {
if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE))
{
return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_PARENT_CODE)); return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_PARENT_CODE));
} }
return StringUtils.EMPTY; return StringUtils.EMPTY;
...@@ -364,10 +320,8 @@ public class VelocityUtils ...@@ -364,10 +320,8 @@ public class VelocityUtils
* @param paramsObj 生成其他选项 * @param paramsObj 生成其他选项
* @return 树名称 * @return 树名称
*/ */
public static String getTreeName(JSONObject paramsObj) public static String getTreeName(JSONObject paramsObj) {
{ if (paramsObj.containsKey(GenConstants.TREE_NAME)) {
if (paramsObj.containsKey(GenConstants.TREE_NAME))
{
return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_NAME)); return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_NAME));
} }
return StringUtils.EMPTY; return StringUtils.EMPTY;
...@@ -379,20 +333,16 @@ public class VelocityUtils ...@@ -379,20 +333,16 @@ public class VelocityUtils
* @param genTable 业务表对象 * @param genTable 业务表对象
* @return 展开按钮列序号 * @return 展开按钮列序号
*/ */
public static int getExpandColumn(GenTable genTable) public static int getExpandColumn(GenTable genTable) {
{
String options = genTable.getOptions(); String options = genTable.getOptions();
JSONObject paramsObj = JSON.parseObject(options); JSONObject paramsObj = JSON.parseObject(options);
String treeName = paramsObj.getString(GenConstants.TREE_NAME); String treeName = paramsObj.getString(GenConstants.TREE_NAME);
int num = 0; int num = 0;
for (GenTableColumn column : genTable.getColumns()) for (GenTableColumn column : genTable.getColumns()) {
{ if (column.isList()) {
if (column.isList())
{
num++; num++;
String columnName = column.getColumnName(); String columnName = column.getColumnName();
if (columnName.equals(treeName)) if (columnName.equals(treeName)) {
{
break; break;
} }
} }
......
package ${packageName}.controller; package ${packageName}.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
#if($table.crud || $table.sub) import ${packageName}.vo.${ClassName}Vo;
import com.ruoyi.common.core.page.TableDataInfo; import ${packageName}.service.I${ClassName}Service;
#elseif($table.tree) import io.swagger.annotations.Api;
#end import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
#if($table.crud || $table.sub)
import com.ruoyi.common.core.page.TableDataInfo;
#elseif($table.tree)
#end
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/** /**
* ${functionName}Controller * ${functionName}Controller
* *
* @author ${author} * @author ${author}
* @date ${datetime} * @date ${datetime}
*/ */
@Api(tags = "${functionName}Controller")
@RestController @RestController
@RequestMapping("/${moduleName}/${businessName}") @RequestMapping("/${moduleName}/${businessName}")
public class ${ClassName}Controller extends BaseController @RequiredArgsConstructor(onConstructor_ = @Autowired)
{ public class ${ClassName}Controller extends BaseController {
@Autowired
private I${ClassName}Service ${className}Service; private final I${ClassName}Service ${className}Service;
/** @ApiOperation("查询${functionName}列表")
* 查询${functionName}列表 @PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
*/ @GetMapping("/list")
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") #if($table.crud || $table.sub)
@GetMapping("/list") public TableDataInfo<${ClassName}Vo> list(${ClassName}Vo entity) {
#if($table.crud || $table.sub) return ${className}Service.queryList(entity);
public TableDataInfo list(${ClassName} ${className})
{
startPage();
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
return getDataTable(list);
} }
#elseif($table.tree) #elseif($table.tree)
public AjaxResult list(${ClassName} ${className}) public AjaxResult list(${ClassName}Vo entity) {
{ return AjaxResult.success("查询成功", ${className}Service.queryAll(entity));
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); }
return success(list); #end
@ApiOperation("查询${functionName}所有列表")
@GetMapping("/listAll")
public AjaxResult listAll(${ClassName}Vo entity) {
return AjaxResult.success("查询成功", ${className}Service.queryAll(entity));
} }
#end
/** @ApiOperation("导出${functionName}列表")
* 导出${functionName}列表
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
@Log(title = "${functionName}", businessType = BusinessType.EXPORT) @Log(title = "${functionName}", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, ${ClassName} ${className}) public void export(HttpServletResponse response, ${ClassName}Vo entity) {
{ List<${ClassName}Vo> list = ${className}Service.queryAll(entity);
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className}); ExcelUtil<${ClassName}Vo> util = new ExcelUtil<>(${ClassName}Vo.class);
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
util.exportExcel(response, list, "${functionName}数据"); util.exportExcel(response, list, "${functionName}数据");
} }
/** @ApiOperation("获取${functionName}详细信息")
* 获取${functionName}详细信息
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
@GetMapping(value = "/{${pkColumn.javaField}}") @GetMapping(value = "/getInfo/{${pkColumn.javaField}}")
public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
{ return AjaxResult.success("查询成功", ${className}Service.queryById(${pkColumn.javaField}));
return success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}));
} }
/** @ApiOperation("新增${functionName}")
* 新增${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
@Log(title = "${functionName}", businessType = BusinessType.INSERT) @Log(title = "${functionName}", businessType = BusinessType.INSERT)
@PostMapping @PostMapping("add")
public AjaxResult add(@RequestBody ${ClassName} ${className}) public AjaxResult add(@RequestBody ${ClassName}Vo entity) {
{ return toAjax(${className}Service.save(entity));
return toAjax(${className}Service.insert${ClassName}(${className}));
} }
/** @ApiOperation("修改${functionName}")
* 修改${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
@Log(title = "${functionName}", businessType = BusinessType.UPDATE) @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
@PutMapping @PostMapping("edit")
public AjaxResult edit(@RequestBody ${ClassName} ${className}) public AjaxResult edit(@RequestBody ${ClassName}Vo entity) {
{ return toAjax(${className}Service.updateById(entity));
return toAjax(${className}Service.update${ClassName}(${className}));
} }
/** @ApiOperation("删除${functionName}")
* 删除${functionName}
*/
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") @PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
@Log(title = "${functionName}", businessType = BusinessType.DELETE) @Log(title = "${functionName}", businessType = BusinessType.DELETE)
@DeleteMapping("/{${pkColumn.javaField}s}") @GetMapping("/remove/{${pkColumn.javaField}s}")
public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) public AjaxResult remove(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
{ return toAjax(${className}Service.removeByIds(Arrays.asList(ids)) ? 1 : 0);
return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s));
} }
} }
...@@ -9,10 +9,19 @@ export function list${BusinessName}(query) { ...@@ -9,10 +9,19 @@ export function list${BusinessName}(query) {
}) })
} }
// 查询${functionName}所有列表
export function listAll${BusinessName}(query) {
return request({
url: '/${moduleName}/${businessName}/listAll',
method: 'get',
params: query
})
}
// 查询${functionName}详细 // 查询${functionName}详细
export function get${BusinessName}(${pkColumn.javaField}) { export function get${BusinessName}(${pkColumn.javaField}) {
return request({ return request({
url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, url: '/${moduleName}/${businessName}/getInfo/' + ${pkColumn.javaField},
method: 'get' method: 'get'
}) })
} }
...@@ -20,7 +29,7 @@ export function get${BusinessName}(${pkColumn.javaField}) { ...@@ -20,7 +29,7 @@ export function get${BusinessName}(${pkColumn.javaField}) {
// 新增${functionName} // 新增${functionName}
export function add${BusinessName}(data) { export function add${BusinessName}(data) {
return request({ return request({
url: '/${moduleName}/${businessName}', url: '/${moduleName}/${businessName}/add',
method: 'post', method: 'post',
data: data data: data
}) })
...@@ -29,8 +38,8 @@ export function add${BusinessName}(data) { ...@@ -29,8 +38,8 @@ export function add${BusinessName}(data) {
// 修改${functionName} // 修改${functionName}
export function update${BusinessName}(data) { export function update${BusinessName}(data) {
return request({ return request({
url: '/${moduleName}/${businessName}', url: '/${moduleName}/${businessName}/edit',
method: 'put', method: 'post',
data: data data: data
}) })
} }
...@@ -38,7 +47,7 @@ export function update${BusinessName}(data) { ...@@ -38,7 +47,7 @@ export function update${BusinessName}(data) {
// 删除${functionName} // 删除${functionName}
export function del${BusinessName}(${pkColumn.javaField}) { export function del${BusinessName}(${pkColumn.javaField}) {
return request({ return request({
url: '/${moduleName}/${businessName}/' + ${pkColumn.javaField}, url: '/${moduleName}/${businessName}/remove/' + ${pkColumn.javaField},
method: 'delete' method: 'get'
}) })
} }
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
#foreach($column in $columns) #foreach($column in $columns)
#if($column.query) #if($column.query)
#set($dictType=$column.dictType) #set($dictType=$column.dictType)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#set($parentheseIndex=$column.columnComment.indexOf("(")) #set($parentheseIndex=$column.columnComment.indexOf("("))
#if($parentheseIndex != -1) #if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex)) #set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else #else
#set($comment=$column.columnComment) #set($comment=$column.columnComment)
#end #end
#if($column.htmlType == "input") #if($column.htmlType == "input")
<el-form-item label="${comment}" prop="${column.javaField}"> <el-form-item label="${comment}" prop="${column.javaField}">
<el-input <el-input
v-model="queryParams.${column.javaField}" v-model="queryParams.${column.javaField}"
placeholder="请输入${comment}" placeholder="请输入${comment}"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType) #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && "" != $dictType)
<el-form-item label="${comment}" prop="${column.javaField}"> <el-form-item label="${comment}" prop="${column.javaField}">
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable filterable>
<el-option <el-option
v-for="dict in dict.type.${dictType}" v-for="dict in dict.type.${dictType}"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
#elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType) #elseif(($column.htmlType == "select" || $column.htmlType == "radio") && $dictType)
<el-form-item label="${comment}" prop="${column.javaField}"> <el-form-item label="${comment}" prop="${column.javaField}">
<el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable> <el-select v-model="queryParams.${column.javaField}" placeholder="请选择${comment}" clearable filterable>
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
</el-select> </el-select>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN") #elseif($column.htmlType == "datetime" && $column.queryType != "BETWEEN")
<el-form-item label="${comment}" prop="${column.javaField}"> <el-form-item label="${comment}" prop="${column.javaField}">
<el-date-picker clearable <el-date-picker clearable
v-model="queryParams.${column.javaField}" v-model="queryParams.${column.javaField}"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择${comment}"> placeholder="请选择${comment}">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
<el-form-item label="${comment}"> <el-form-item label="${comment}">
<el-date-picker <el-date-picker
v-model="daterange${AttrName}" v-model="daterange${AttrName}"
style="width: 240px" style="width: 240px"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
type="daterange" type="daterange"
range-separator="-" range-separator="-"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
#end #end
#end #end
#end #end
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -70,44 +70,44 @@ ...@@ -70,44 +70,44 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
plain plain
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['${moduleName}:${businessName}:add']" v-hasPermi="['${moduleName}:${businessName}:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="success" type="success"
plain plain
icon="el-icon-edit" icon="el-icon-edit"
size="mini" size="mini"
:disabled="single" :disabled="single"
@click="handleUpdate" @click="handleUpdate"
v-hasPermi="['${moduleName}:${businessName}:edit']" v-hasPermi="['${moduleName}:${businessName}:edit']"
>修改</el-button> >修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="danger" type="danger"
plain plain
icon="el-icon-delete" icon="el-icon-delete"
size="mini" size="mini"
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
v-hasPermi="['${moduleName}:${businessName}:remove']" v-hasPermi="['${moduleName}:${businessName}:remove']"
>删除</el-button> >删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
plain plain
icon="el-icon-download" icon="el-icon-download"
size="mini" size="mini"
@click="handleExport" @click="handleExport"
v-hasPermi="['${moduleName}:${businessName}:export']" v-hasPermi="['${moduleName}:${businessName}:export']"
>导出</el-button> >导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
...@@ -115,228 +115,228 @@ ...@@ -115,228 +115,228 @@
<el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
#foreach($column in $columns) #foreach($column in $columns)
#set($javaField=$column.javaField) #set($javaField=$column.javaField)
#set($parentheseIndex=$column.columnComment.indexOf("(")) #set($parentheseIndex=$column.columnComment.indexOf("("))
#if($parentheseIndex != -1) #if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex)) #set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else #else
#set($comment=$column.columnComment) #set($comment=$column.columnComment)
#end #end
#if($column.pk) #if($column.pk)
<el-table-column label="${comment}" align="center" prop="${javaField}" /> <el-table-column label="${comment}" align="center" prop="${javaField}" />
#elseif($column.list && $column.htmlType == "datetime") #elseif($column.list && $column.htmlType == "datetime")
<el-table-column label="${comment}" align="center" prop="${javaField}" width="180"> <el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.${javaField}) }}</span>
</template> </template>
</el-table-column> </el-table-column>
#elseif($column.list && $column.htmlType == "imageUpload") #elseif($column.list && $column.htmlType == "imageUpload")
<el-table-column label="${comment}" align="center" prop="${javaField}" width="100"> <el-table-column label="${comment}" align="center" prop="${javaField}" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<image-preview :src="scope.row.${javaField}" :width="50" :height="50"/> <image-preview :src="scope.row.${javaField}" :width="50" :height="50"/>
</template> </template>
</el-table-column> </el-table-column>
#elseif($column.list && "" != $column.dictType) #elseif($column.list && "" != $column.dictType)
<el-table-column label="${comment}" align="center" prop="${javaField}"> <el-table-column label="${comment}" align="center" prop="${javaField}">
<template slot-scope="scope"> <template slot-scope="scope">
#if($column.htmlType == "checkbox") #if($column.htmlType == "checkbox")
<dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/> <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/>
#else #else
<dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField}"/> <dict-tag :options="dict.type.${column.dictType}" :value="scope.row.${javaField}"/>
#end #end
</template> </template>
</el-table-column> </el-table-column>
#elseif($column.list && "" != $javaField) #elseif($column.list && "" != $javaField)
<el-table-column label="${comment}" align="center" prop="${javaField}" /> <el-table-column label="${comment}" align="center" prop="${javaField}" />
#end #end
#end #end
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['${moduleName}:${businessName}:edit']" v-hasPermi="['${moduleName}:${businessName}:edit']"
>修改</el-button> >修改</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['${moduleName}:${businessName}:remove']" v-hasPermi="['${moduleName}:${businessName}:remove']"
>删除</el-button> >删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改${functionName}对话框 --> <!-- 添加或修改${functionName}对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
#foreach($column in $columns) #foreach($column in $columns)
#set($field=$column.javaField) #set($field=$column.javaField)
#if($column.insert && !$column.pk) #if($column.insert && !$column.pk)
#if(($column.usableColumn) || (!$column.superColumn)) #if(($column.usableColumn) || (!$column.superColumn))
#set($parentheseIndex=$column.columnComment.indexOf("(")) #set($parentheseIndex=$column.columnComment.indexOf("("))
#if($parentheseIndex != -1) #if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex)) #set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else #else
#set($comment=$column.columnComment) #set($comment=$column.columnComment)
#end #end
#set($dictType=$column.dictType) #set($dictType=$column.dictType)
#if($column.htmlType == "input") #if($column.htmlType == "input")
<el-form-item label="${comment}" prop="${field}"> <el-form-item label="${comment}" prop="${field}">
<el-input v-model="form.${field}" placeholder="请输入${comment}" /> <el-input v-model="form.${field}" placeholder="请输入${comment}" />
</el-form-item> </el-form-item>
#elseif($column.htmlType == "imageUpload") #elseif($column.htmlType == "imageUpload")
<el-form-item label="${comment}"> <el-form-item label="${comment}" prop="${field}">
<image-upload v-model="form.${field}"/> <image-upload v-model="form.${field}"/>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "fileUpload") #elseif($column.htmlType == "fileUpload")
<el-form-item label="${comment}"> <el-form-item label="${comment}" prop="${field}">
<file-upload v-model="form.${field}"/> <file-upload v-model="form.${field}"/>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "editor") #elseif($column.htmlType == "editor")
<el-form-item label="${comment}"> <el-form-item label="${comment}" prop="${field}">
<editor v-model="form.${field}" :min-height="192"/> <editor v-model="form.${field}" :min-height="192"/>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "select" && "" != $dictType) #elseif($column.htmlType == "select" && "" != $dictType)
<el-form-item label="${comment}" prop="${field}"> <el-form-item label="${comment}" prop="${field}">
<el-select v-model="form.${field}" placeholder="请选择${comment}"> <el-select v-model="form.${field}" placeholder="请选择${comment}" filterable>
<el-option <el-option
v-for="dict in dict.type.${dictType}" v-for="dict in dict.type.${dictType}"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
#if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.value)"#else:value="dict.value"#end #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.value)"#else:value="dict.value"#end
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "select" && $dictType) #elseif($column.htmlType == "select" && $dictType)
<el-form-item label="${comment}" prop="${field}"> <el-form-item label="${comment}" prop="${field}">
<el-select v-model="form.${field}" placeholder="请选择${comment}"> <el-select v-model="form.${field}" placeholder="请选择${comment}" filterable>
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
</el-select> </el-select>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "checkbox" && "" != $dictType) #elseif($column.htmlType == "checkbox" && "" != $dictType)
<el-form-item label="${comment}"> <el-form-item label="${comment}">
<el-checkbox-group v-model="form.${field}"> <el-checkbox-group v-model="form.${field}">
<el-checkbox <el-checkbox
v-for="dict in dict.type.${dictType}" v-for="dict in dict.type.${dictType}"
:key="dict.value" :key="dict.value"
:label="dict.value"> :label="dict.value">
{{dict.label}} {{dict.label}}
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "checkbox" && $dictType) #elseif($column.htmlType == "checkbox" && $dictType)
<el-form-item label="${comment}"> <el-form-item label="${comment}">
<el-checkbox-group v-model="form.${field}"> <el-checkbox-group v-model="form.${field}">
<el-checkbox>请选择字典生成</el-checkbox> <el-checkbox>请选择字典生成</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "radio" && "" != $dictType) #elseif($column.htmlType == "radio" && "" != $dictType)
<el-form-item label="${comment}"> <el-form-item label="${comment}">
<el-radio-group v-model="form.${field}"> <el-radio-group v-model="form.${field}">
<el-radio <el-radio
v-for="dict in dict.type.${dictType}" v-for="dict in dict.type.${dictType}"
:key="dict.value" :key="dict.value"
#if($column.javaType == "Integer" || $column.javaType == "Long"):label="parseInt(dict.value)"#else:label="dict.value"#end #if($column.javaType == "Integer" || $column.javaType == "Long"):label="parseInt(dict.value)"#else:label="dict.value"#end
>{{dict.label}}</el-radio> >{{dict.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "radio" && $dictType) #elseif($column.htmlType == "radio" && $dictType)
<el-form-item label="${comment}"> <el-form-item label="${comment}">
<el-radio-group v-model="form.${field}"> <el-radio-group v-model="form.${field}">
<el-radio label="1">请选择字典生成</el-radio> <el-radio label="1">请选择字典生成</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "datetime") #elseif($column.htmlType == "datetime")
<el-form-item label="${comment}" prop="${field}"> <el-form-item label="${comment}" prop="${field}">
<el-date-picker clearable <el-date-picker clearable
v-model="form.${field}" v-model="form.${field}"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择${comment}"> placeholder="请选择${comment}">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
#elseif($column.htmlType == "textarea") #elseif($column.htmlType == "textarea")
<el-form-item label="${comment}" prop="${field}"> <el-form-item label="${comment}" prop="${field}">
<el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
#end #end
#end #end
#end #end
#end #end
#if($table.sub) #if($table.sub)
<el-divider content-position="center">${subTable.functionName}信息</el-divider> <el-divider content-position="center">${subTable.functionName}信息</el-divider>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd${subClassName}">添加</el-button> <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd${subClassName}">添加</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete${subClassName}">删除</el-button> <el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete${subClassName}">删除</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}"> <el-table :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 type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50"/> <el-table-column label="序号" align="center" prop="index" width="50"/>
#foreach($column in $subTable.columns) #foreach($column in $subTable.columns)
#set($javaField=$column.javaField) #set($javaField=$column.javaField)
#set($parentheseIndex=$column.columnComment.indexOf("(")) #set($parentheseIndex=$column.columnComment.indexOf("("))
#if($parentheseIndex != -1) #if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex)) #set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else #else
#set($comment=$column.columnComment) #set($comment=$column.columnComment)
#end #end
#if($column.pk || $javaField == ${subTableFkclassName}) #if($column.pk || $javaField == ${subTableFkclassName})
#elseif($column.list && $column.htmlType == "input") #elseif($column.list && $column.htmlType == "input")
<el-table-column label="$comment" prop="${javaField}" width="150"> <el-table-column label="$comment" prop="${javaField}" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.$javaField" placeholder="请输入$comment" /> <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" />
</template> </template>
</el-table-column> </el-table-column>
#elseif($column.list && $column.htmlType == "datetime") #elseif($column.list && $column.htmlType == "datetime")
<el-table-column label="$comment" prop="${javaField}" width="240"> <el-table-column label="$comment" prop="${javaField}" width="240">
<template slot-scope="scope"> <template slot-scope="scope">
<el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="yyyy-MM-dd" placeholder="请选择$comment" /> <el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择$comment" />
</template> </template>
</el-table-column> </el-table-column>
#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType) #elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType)
<el-table-column label="$comment" prop="${javaField}" width="150"> <el-table-column label="$comment" prop="${javaField}" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> <el-select v-model="scope.row.$javaField" placeholder="请选择$comment" filterable>
<el-option <el-option
v-for="dict in dict.type.$column.dictType" v-for="dict in dict.type.$column.dictType"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
></el-option> ></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType) #elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType)
<el-table-column label="$comment" prop="${javaField}" width="150"> <el-table-column label="$comment" prop="${javaField}" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> <el-select v-model="scope.row.$javaField" placeholder="请选择$comment" filterable>
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
#end #end
#end #end
</el-table> </el-table>
#end #end
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
...@@ -347,252 +347,255 @@ ...@@ -347,252 +347,255 @@
</template> </template>
<script> <script>
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}"; import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
export default { export default {
name: "${BusinessName}", name: "${BusinessName}",
#if(${dicts} != '') #if(${dicts} != '')
dicts: [${dicts}], dicts: [${dicts}],
#end #end
data() { data() {
return { return {
// 遮罩层 // 根路径
loading: true, baseURL: process.env.VUE_APP_BASE_API,
// 选中数组 // 遮罩层
ids: [], loading: true,
#if($table.sub) // 选中数组
// 子表选中数据 ids: [],
checked${subClassName}: [], #if($table.sub)
#end // 子表选中数据
// 非单个禁用 checked${subClassName}: [],
single: true, #end
// 非多个禁用 // 非单个禁用
multiple: true, single: true,
// 显示搜索条件 // 非多个禁用
showSearch: true, multiple: true,
// 总条数 // 显示搜索条件
total: 0, showSearch: true,
// ${functionName}表格数据 // 总条数
${businessName}List: [], total: 0,
#if($table.sub) // ${functionName}表格数据
// ${subTable.functionName}表格数据 ${businessName}List: [],
${subclassName}List: [], #if($table.sub)
#end // ${subTable.functionName}表格数据
// 弹出层标题 ${subclassName}List: [],
title: "", #end
// 是否显示弹出层 // 弹出层标题
open: false, title: "",
#foreach ($column in $columns) // 是否显示弹出层
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") open: false,
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #foreach ($column in $columns)
// $comment时间范围 #if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
daterange${AttrName}: [], #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end // $comment时间范围
#end daterange${AttrName}: [],
// 查询参数 #end
queryParams: { #end
pageNum: 1, // 查询参数
pageSize: 10, queryParams: {
#foreach ($column in $columns) pageNum: 1,
#if($column.query) pageSize: 10,
$column.javaField: null#if($foreach.count != $columns.size()),#end #foreach ($column in $columns)
#end #if($column.query)
#end $column.javaField: null#if($foreach.count != $columns.size()),#end
}, #end
// 表单参数 #end
form: {}, },
// 表单校验 // 表单参数
rules: { form: {},
#foreach ($column in $columns) // 表单校验
#if($column.required) rules: {
#set($parentheseIndex=$column.columnComment.indexOf("(")) #foreach ($column in $columns)
#if($parentheseIndex != -1) #if($column.javaField != 'createBy' && $column.javaField != 'createTime' && $column.javaField != 'updateBy' && $column.javaField != 'updateTime' && $column.javaField != 'deleteStatus')
#set($comment=$column.columnComment.substring(0, $parentheseIndex)) #set($parentheseIndex=$column.columnComment.indexOf("("))
#else #if($parentheseIndex != -1)
#set($comment=$column.columnComment) #set($comment=$column.columnComment.substring(0, $parentheseIndex))
#end #else
$column.javaField: [ #set($comment=$column.columnComment)
{ required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select")"change"#else"blur"#end } #end
]#if($foreach.count != $columns.size()),#end $column.javaField: [
#end { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select")"change"#else"blur"#end }
#end ]#if($foreach.count != $columns.size()),#end
} #end
}; #end
}, }
created() {
this.getList();
},
methods: {
/** 查询${functionName}列表 */
getList() {
this.loading = true;
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
this.queryParams.params = {};
#break
#end
#end
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
if (null != this.daterange${AttrName} && '' != this.daterange${AttrName}) {
this.queryParams.params["begin${AttrName}"] = this.daterange${AttrName}[0];
this.queryParams.params["end${AttrName}"] = this.daterange${AttrName}[1];
}
#end
#end
list${BusinessName}(this.queryParams).then(response => {
this.${businessName}List = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
#foreach ($column in $columns)
#if($column.htmlType == "radio")
$column.javaField: #if($column.javaType == "Integer" || $column.javaType == "Long")0#else"0"#end#if($foreach.count != $columns.size()),#end
#elseif($column.htmlType == "checkbox")
$column.javaField: []#if($foreach.count != $columns.size()),#end
#else
$column.javaField: null#if($foreach.count != $columns.size()),#end
#end
#end
}; };
#if($table.sub)
this.${subclassName}List = [];
#end
this.resetForm("form");
}, },
/** 搜索按钮操作 */ created() {
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ methods: {
resetQuery() { /** 查询${functionName}列表 */
#foreach ($column in $columns) getList() {
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN") this.loading = true;
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #foreach ($column in $columns)
this.daterange${AttrName} = []; #if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#end this.queryParams.params = {};
#end #break
this.resetForm("queryForm"); #end
this.handleQuery(); #end
}, #foreach ($column in $columns)
// 多选框选中数据 #if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
handleSelectionChange(selection) { #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
this.ids = selection.map(item => item.${pkColumn.javaField}) if (null != this.daterange${AttrName} && '' != this.daterange${AttrName}) {
this.single = selection.length!==1 this.queryParams.params["begin${AttrName}"] = this.daterange${AttrName}[0];
this.multiple = !selection.length this.queryParams.params["end${AttrName}"] = this.daterange${AttrName}[1];
}, }
/** 新增按钮操作 */ #end
handleAdd() { #end
this.reset(); list${BusinessName}(this.queryParams).then(response => {
this.open = true; this.${businessName}List = response.rows;
this.title = "添加${functionName}"; this.total = response.total;
}, this.loading = false;
/** 修改按钮操作 */ });
handleUpdate(row) { },
this.reset(); // 取消按钮
const ${pkColumn.javaField} = row.${pkColumn.javaField} || this.ids cancel() {
get${BusinessName}(${pkColumn.javaField}).then(response => { this.open = false;
this.form = response.data; this.reset();
#foreach ($column in $columns) },
#if($column.htmlType == "checkbox") // 表单重置
this.form.$column.javaField = this.form.${column.javaField}.split(","); reset() {
#end this.form = {
#end #foreach ($column in $columns)
#if($table.sub) #if($column.javaField == 'createBy' || $column.javaField == 'createTime' || $column.javaField == 'updateBy' || $column.javaField == 'updateTime' || $column.javaField == 'deleteStatus')
this.${subclassName}List = response.data.${subclassName}List; #elseif($column.htmlType == "radio")
#end $column.javaField: #if($column.javaType == "Integer" || $column.javaType == "Long")0#else"0"#end#if($foreach.count != $columns.size()),#end
#elseif($column.htmlType == "checkbox")
$column.javaField: []#if($foreach.count != $columns.size()),#end
#else
$column.javaField: null#if($foreach.count != $columns.size()),#end
#end
#end
};
#if($table.sub)
this.${subclassName}List = [];
#end
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
this.daterange${AttrName} = [];
#end
#end
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.${pkColumn.javaField})
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true; this.open = true;
this.title = "修改${functionName}"; this.title = "添加${functionName}";
}); },
}, /** 修改按钮操作 */
/** 提交按钮 */ handleUpdate(row) {
submitForm() { this.reset();
this.#[[$]]#refs["form"].validate(valid => { const ${pkColumn.javaField} = row.${pkColumn.javaField} || this.ids
if (valid) { get${BusinessName}(${pkColumn.javaField}).then(response => {
#foreach ($column in $columns) this.form = response.data;
#if($column.htmlType == "checkbox") #foreach ($column in $columns)
this.form.$column.javaField = this.form.${column.javaField}.join(","); #if($column.htmlType == "checkbox")
#end this.form.$column.javaField = this.form.${column.javaField}.split(",");
#end #end
#if($table.sub) #end
this.form.${subclassName}List = this.${subclassName}List; #if($table.sub)
#end this.${subclassName}List = response.data.${subclassName}List;
if (this.form.${pkColumn.javaField} != null) { #end
update${BusinessName}(this.form).then(response => { this.open = true;
this.#[[$modal]]#.msgSuccess("修改成功"); this.title = "修改${functionName}";
this.open = false; });
this.getList(); },
}); /** 提交按钮 */
} else { submitForm() {
add${BusinessName}(this.form).then(response => { this.#[[$]]#refs["form"].validate(valid => {
this.#[[$modal]]#.msgSuccess("新增成功"); if (valid) {
this.open = false; #foreach ($column in $columns)
this.getList(); #if($column.htmlType == "checkbox")
}); this.form.$column.javaField = this.form.${column.javaField}.join(",");
#end
#end
#if($table.sub)
this.form.${subclassName}List = this.${subclassName}List;
#end
if (this.form.${pkColumn.javaField} != null) {
update${BusinessName}(this.form).then(response => {
this.#[[$modal]]#.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
add${BusinessName}(this.form).then(response => {
this.#[[$modal]]#.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
} }
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ${pkColumn.javaField}s = row.${pkColumn.javaField} || this.ids;
this.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + ${pkColumn.javaField}s + '"的数据项?').then(function() {
return del${BusinessName}(${pkColumn.javaField}s);
}).then(() => {
this.getList();
this.#[[$modal]]#.msgSuccess("删除成功");
}).catch(() => {});
},
#if($table.sub)
/** ${subTable.functionName}序号 */
row${subClassName}Index({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** ${subTable.functionName}添加按钮操作 */
handleAdd${subClassName}() {
let obj = {};
#foreach($column in $subTable.columns)
#if($column.pk || $column.javaField == ${subTableFkclassName})
#elseif($column.list && "" != $javaField)
obj.$column.javaField = "";
#end
#end
this.${subclassName}List.push(obj);
},
/** ${subTable.functionName}删除按钮操作 */
handleDelete${subClassName}() {
if (this.checked${subClassName}.length == 0) {
this.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据");
} else {
const ${subclassName}List = this.${subclassName}List;
const checked${subClassName} = this.checked${subClassName};
this.${subclassName}List = ${subclassName}List.filter(function(item) {
return checked${subClassName}.indexOf(item.index) == -1
}); });
} },
}, /** 删除按钮操作 */
/** 复选框选中数据 */ handleDelete(row) {
handle${subClassName}SelectionChange(selection) { const ${pkColumn.javaField}s = row.${pkColumn.javaField} || this.ids;
this.checked${subClassName} = selection.map(item => item.index) this.#[[$modal]]#.confirm('是否确认删除${functionName}编号为"' + ${pkColumn.javaField}s + '"的数据项?').then(function() {
}, return del${BusinessName}(${pkColumn.javaField}s);
#end }).then(() => {
/** 导出按钮操作 */ this.getList();
handleExport() { this.#[[$modal]]#.msgSuccess("删除成功");
this.download('${moduleName}/${businessName}/export', { }).catch(() => {});
...this.queryParams },
}, `${businessName}_#[[${new Date().getTime()}]]#.xlsx`) #if($table.sub)
/** ${subTable.functionName}序号 */
row${subClassName}Index({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** ${subTable.functionName}添加按钮操作 */
handleAdd${subClassName}() {
let obj = {};
#foreach($column in $subTable.columns)
#if($column.pk || $column.javaField == ${subTableFkclassName})
#elseif($column.list && "" != $javaField)
obj.$column.javaField = "";
#end
#end
this.${subclassName}List.push(obj);
},
/** ${subTable.functionName}删除按钮操作 */
handleDelete${subClassName}() {
if (this.checked${subClassName}.length == 0) {
this.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据");
} else {
const ${subclassName}List = this.${subclassName}List;
const checked${subClassName} = this.checked${subClassName};
this.${subclassName}List = ${subclassName}List.filter(function(item) {
return checked${subClassName}.indexOf(item.index) == -1
});
} }
},
/** 复选框选中数据 */
handle${subClassName}SelectionChange(selection) {
this.checked${subClassName} = selection.map(item => item.index)
},
#end
/** 导出按钮操作 */
handleExport() {
this.download('${moduleName}/${businessName}/export', {
...this.queryParams
}, `${businessName}_#[[${new Date().getTime()}]]#.xlsx`)
}
} }
}; };
</script> </script>
package com.ruoyi.system.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
/**
* 科目类别对象 fnc_subject_type
*
* @author jlf
* @date 2022-11-17
*/
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class FncSubjectType extends BaseEntity {
/**
* 科目类别id
*/
@TableId( value = "subject_type_id", type = IdType.AUTO)
private Long subjectTypeId;
/**
* 上级id
*/
@Excel(name = "上级id")
private Long parentId;
/**
* 科目类别名称
*/
@Excel(name = "科目类别名称")
private String subjectTypeName;
/**
* 显示顺序
*/
@Excel(name = "显示顺序")
private Integer orderNum;
// @TableLogic(value = "1",delval = "2")
@TableField(fill = FieldFill.INSERT)
private Integer deleteStatus;
}
package com.ruoyi.system.domain.vo;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.system.domain.FncSubjectType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
/**
* 科目类别对象 fnc_subject_type
*
* @author jlf
* @date 2022-11-17
*/
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class FncSubjectTypeVo extends FncSubjectType {
}
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.domain.FncSubjectType;
import com.ruoyi.system.domain.vo.FncSubjectTypeVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 科目类别Mapper接口
*
* @author jlf
* @date 2022-11-17
*/
public interface FncSubjectTypeMapper extends BaseMapper<FncSubjectType> {
Page<FncSubjectTypeVo> queryList(Page<?> page, @Param("entity") FncSubjectTypeVo entity);
List<FncSubjectTypeVo> queryList(@Param("entity") FncSubjectTypeVo entity);
FncSubjectTypeVo queryById(@Param("id") Long subjectTypeId);
}
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.FncSubjectType;
import com.ruoyi.system.domain.vo.FncSubjectTypeVo;
import java.util.List;
/**
* 科目类别Service接口
*
* @author jlf
* @date 2022-11-17
*/
public interface IFncSubjectTypeService extends IService<FncSubjectType> {
/**
* 分页查询
*
* @param entity
* @return
*/
TableDataInfo<FncSubjectTypeVo> queryList(FncSubjectTypeVo entity);
/**
* 查询全部
*
* @param entity
* @return
*/
List<FncSubjectTypeVo> queryAll(FncSubjectTypeVo entity);
/**
* 根据ID查询
*
* @param subjectTypeId
* @return
*/
FncSubjectTypeVo queryById(Long subjectTypeId);
}
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.system.domain.FncSubjectType;
import com.ruoyi.system.domain.vo.FncSubjectTypeVo;
import com.ruoyi.system.mapper.FncSubjectTypeMapper;
import com.ruoyi.system.service.IFncSubjectTypeService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 科目类别Service业务层处理
*
* @author jlf
* @date 2022-11-17
*/
@Service
public class FncSubjectTypeServiceImpl extends ServiceImpl<FncSubjectTypeMapper, FncSubjectType> implements IFncSubjectTypeService {
@Override
public TableDataInfo<FncSubjectTypeVo> queryList(FncSubjectTypeVo entity) {
return PageUtils.buildDataInfo(this.baseMapper.queryList(PageUtils.buildPage(), entity));
}
@Override
public List<FncSubjectTypeVo> queryAll(FncSubjectTypeVo entity) {
return this.baseMapper.queryList(entity);
}
@Override
public FncSubjectTypeVo queryById(Long subjectTypeId) {
return this.baseMapper.queryById(subjectTypeId);
}
}
<?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="com.ruoyi.system.mapper.FncSubjectTypeMapper">
<sql id="querySql">
select <include refid="allField"/>
from fnc_subject_type A
<include refid="search"/>
</sql>
<select id="queryList" resultType="com.ruoyi.system.domain.vo.FncSubjectTypeVo">
<include refid="querySql"/>
<if test="entity.subjectTypeName != null and entity.subjectTypeName != ''">
and A.subject_type_name like concat('%', #{entity.subjectTypeName}, '%')
</if>
order by A.create_time desc
</select>
<select id="queryById" resultType="com.ruoyi.system.domain.vo.FncSubjectTypeVo">
<include refid="querySql"/>
and A.subject_type_id = #{id}
</select>
<sql id="allField">
A.subject_type_id,
A.parent_id,
A.subject_type_name,
A.order_num,
A.create_by,
A.create_time,
A.update_by,
A.update_time
</sql>
<sql id="search">
where A.delete_status = 1
</sql>
</mapper>
import request from '@/utils/request'
// 查询科目类别列表
export function listSubjectType(query) {
return request({
url: '/finance/subjectType/list',
method: 'get',
params: query
})
}
// 查询上级科目类别列表(排除节点)
export function listExcludeChild(id) {
return request({
url: '/finance/subjectType/list/exclude/' + id,
method: 'get'
})
}
// 查询科目类别所有列表
export function listAllSubjectType(query) {
return request({
url: '/finance/subjectType/listAll',
method: 'get',
params: query
})
}
// 查询科目类别详细
export function getSubjectType(subjectTypeId) {
return request({
url: '/finance/subjectType/getInfo/' + subjectTypeId,
method: 'get'
})
}
// 新增科目类别
export function addSubjectType(data) {
return request({
url: '/finance/subjectType/add',
method: 'post',
data: data
})
}
// 修改科目类别
export function updateSubjectType(data) {
return request({
url: '/finance/subjectType/edit',
method: 'post',
data: data
})
}
// 删除科目类别
export function delSubjectType(subjectTypeId) {
return request({
url: '/finance/subjectType/remove/' + subjectTypeId,
method: 'get'
})
}
...@@ -167,7 +167,9 @@ export function handleTree(data, id, parentId, children) { ...@@ -167,7 +167,9 @@ export function handleTree(data, id, parentId, children) {
var childrenListMap = {}; var childrenListMap = {};
var nodeIds = {}; var nodeIds = {};
var tree = []; var tree = [];
if(!data) {
return [];
}
for (let d of data) { for (let d of data) {
let parentId = d[config.parentId]; let parentId = d[config.parentId];
if (childrenListMap[parentId] == null) { if (childrenListMap[parentId] == null) {
......
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
<el-input v-model="queryParams.saleEvaluation" placeholder="请输入销售额评估" clearable <el-input v-model="queryParams.saleEvaluation" placeholder="请输入销售额评估" clearable
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="创建人" prop="createby"> <el-form-item label="创建人" prop="createBy">
<el-input v-model="queryParams.createby" placeholder="请输入创建人" clearable <el-input v-model="queryParams.createBy" placeholder="请输入创建人" clearable
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
<el-table-column label="客户单位" align="center" prop="customerCompany" /> <el-table-column label="客户单位" align="center" prop="customerCompany" />
<el-table-column label="业务性质" align="center" prop="businessType" /> <el-table-column label="业务性质" align="center" prop="businessType" />
<el-table-column label="销售额评估" align="center" prop="saleEvaluation" /> <el-table-column label="销售额评估" align="center" prop="saleEvaluation" />
<el-table-column label="创建人" align="center" prop="createby" /> <el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="科目类别名称" prop="subjectTypeName">
<el-input v-model="queryParams.subjectTypeName" placeholder="请输入科目类别名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['finance:subjectType:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['finance:subjectType:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['finance:subjectType:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['finance:subjectType:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-if="refreshTable" v-loading="loading" row-key="subjectTypeId" :data="subjectTypeList"
:default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<el-table-column label="科目类别名称" align="center" prop="subjectTypeName" />
<el-table-column label="显示顺序" align="center" prop="orderNum" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['finance:subjectType:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['finance:subjectType:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 添加或修改科目类别对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="上级科目" prop="parentId">
<treeselect v-model="form.parentId" :options="subjectTypeOptions" :normalizer="normalizer"
placeholder="选择上级科目类别" />
</el-form-item>
<el-form-item label="科目类别名称" prop="subjectTypeName">
<el-input v-model="form.subjectTypeName" placeholder="请输入科目类别名称" />
</el-form-item>
<el-form-item label="显示顺序" prop="orderNum">
<el-input v-model="form.orderNum" placeholder="请输入显示顺序" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAllSubjectType, getSubjectType, delSubjectType, addSubjectType, updateSubjectType ,listExcludeChild} from "@/api/finance/subjectType";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "SubjectType",
components: { Treeselect },
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 科目类别表格树数据
subjectTypeList: [],
// 科目类别树选项
subjectTypeOptions: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 是否展开,默认全部展开
isExpandAll: true,
// 重新渲染表格状态
refreshTable: true,
// 查询参数
queryParams: {
subjectTypeName: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
parentId: [
{ required: true, message: "上级id不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询科目类别列表 */
getList() {
this.loading = true;
listAllSubjectType(this.queryParams).then(response => {
// this.subjectTypeList = response.rows;
this.subjectTypeList = this.handleTree(response.data, "subjectTypeId");
this.loading = false;
});
},
/** 转换科目类别数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.subjectTypeId,
label: node.subjectTypeName,
children: node.children
};
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
subjectTypeId: null,
parentId: null,
subjectTypeName: null,
orderNum: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd(row) {
this.reset();
if (row != undefined) {
this.form.parentId = row.subjectTypeId;
}
this.open = true;
this.title = "添加科目类别";
listAllSubjectType().then(response => {
this.subjectTypeOptions = this.handleTree(response.data, "subjectTypeId");
if (this.subjectTypeOptions.length == 0) {
}
const noResultsOptions = { subjectTypeId: this.form.parentId || 0, subjectTypeName: this.form.parentName || "根节点", children: [] };
this.subjectTypeOptions.push(noResultsOptions);
});
},
/** 展开/折叠操作 */
toggleExpandAll() {
this.refreshTable = false;
this.isExpandAll = !this.isExpandAll;
this.$nextTick(() => {
this.refreshTable = true;
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const subjectTypeId = row.subjectTypeId
getSubjectType(subjectTypeId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改科目类别";
listExcludeChild(row.subjectTypeId).then(response => {
this.subjectTypeOptions = this.handleTree(response.data, "subjectTypeId");
if (this.subjectTypeOptions.length == 0) {
}
const noResultsOptions = { subjectTypeId: this.form.parentId || 0, subjectTypeName: this.form.parentName || "根节点", children: [] };
this.subjectTypeOptions.push(noResultsOptions);
});
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.subjectTypeId != null) {
updateSubjectType(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addSubjectType(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const subjectTypeIds = row.subjectTypeId || this.ids;
this.$modal.confirm('是否确认删除科目类别编号为"' + subjectTypeIds + '"的数据项?').then(function () {
return delSubjectType(subjectTypeIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('finance/subjectType/export', {
...this.queryParams
}, `subjectType_${new Date().getTime()}.xlsx`)
}
}
};
</script>
...@@ -2,21 +2,12 @@ ...@@ -2,21 +2,12 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName"> <el-form-item label="部门名称" prop="deptName">
<el-input <el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.deptName"
placeholder="请输入部门名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="部门状态" clearable> <el-select v-model="queryParams.status" placeholder="部门状态" clearable>
<el-option <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
v-for="dict in dict.type.sys_normal_disable" :value="dict.value" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -27,40 +18,22 @@ ...@@ -27,40 +18,22 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
type="primary" v-hasPermi="['system:dept:add']">新增</el-button>
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
>新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="info" plain icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button>
type="info"
plain
icon="el-icon-sort"
size="mini"
@click="toggleExpandAll"
>展开/折叠</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table <el-table v-if="refreshTable" v-loading="loading" :data="deptList" row-key="deptId"
v-if="refreshTable" :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
v-loading="loading"
:data="deptList"
row-key="deptId"
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="deptName" label="部门名称" width="260"></el-table-column> <el-table-column prop="deptName" label="部门名称" width="260"></el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column> <el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" width="100"> <el-table-column prop="status" label="状态" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200"> <el-table-column label="创建时间" align="center" prop="createTime" width="200">
...@@ -70,28 +43,12 @@ ...@@ -70,28 +43,12 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
size="mini" v-hasPermi="['system:dept:edit']">修改</el-button>
type="text" <el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)"
icon="el-icon-edit" v-hasPermi="['system:dept:add']">新增</el-button>
@click="handleUpdate(scope.row)" <el-button v-if="scope.row.parentId != 0" size="mini" type="text" icon="el-icon-delete"
v-hasPermi="['system:dept:edit']" @click="handleDelete(scope.row)" v-hasPermi="['system:dept:remove']">删除</el-button>
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:dept:add']"
>新增</el-button>
<el-button
v-if="scope.row.parentId != 0"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dept:remove']"
>删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -102,7 +59,8 @@ ...@@ -102,7 +59,8 @@
<el-row> <el-row>
<el-col :span="24" v-if="form.parentId !== 0"> <el-col :span="24" v-if="form.parentId !== 0">
<el-form-item label="上级部门" prop="parentId"> <el-form-item label="上级部门" prop="parentId">
<treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门" /> <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer"
placeholder="选择上级部门" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -139,11 +97,8 @@ ...@@ -139,11 +97,8 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="部门状态"> <el-form-item label="部门状态">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
<el-radio <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">
v-for="dict in dict.type.sys_normal_disable" {{ dict.label }}</el-radio>
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -307,7 +262,7 @@ export default { ...@@ -307,7 +262,7 @@ export default {
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function () {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.deptId != undefined) { if (this.form.deptId != undefined) {
...@@ -328,12 +283,12 @@ export default { ...@@ -328,12 +283,12 @@ export default {
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
this.$modal.confirm('是否确认删除名称为"' + row.deptName + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除名称为"' + row.deptName + '"的数据项?').then(function () {
return delDept(row.deptId); return delDept(row.deptId);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => {}); }).catch(() => { });
} }
} }
}; };
......
/* /*
Navicat Premium Data Transfer Navicat Premium Data Transfer
Source Server : 192.168.182.130-mysql Source Server : localhost_3306
Source Server Type : MySQL Source Server Type : MySQL
Source Server Version : 50738 Source Server Version : 50736
Source Host : 192.168.182.130:3306 Source Host : localhost:3306
Source Schema : ry-vue Source Schema : ry-vue
Target Server Type : MySQL Target Server Type : MySQL
Target Server Version : 50738 Target Server Version : 50736
File Encoding : 65001 File Encoding : 65001
Date: 16/11/2022 22:16:16 Date: 17/11/2022 17:29:32
*/ */
SET NAMES utf8mb4; SET NAMES utf8mb4;
...@@ -31,11 +31,11 @@ CREATE TABLE `fnc_company` ( ...@@ -31,11 +31,11 @@ CREATE TABLE `fnc_company` (
`bank_account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行账户名称', `bank_account_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行账户名称',
`bank_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行账户', `bank_account` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '银行账户',
`create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', `create_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', `update_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`company_id`) USING BTREE PRIMARY KEY (`company_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '记账公司表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '记账公司表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of fnc_company -- Records of fnc_company
...@@ -60,11 +60,11 @@ CREATE TABLE `fnc_ledger` ( ...@@ -60,11 +60,11 @@ CREATE TABLE `fnc_ledger` (
`business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务性质', `business_type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务性质',
`sale_evaluation` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '销售额评估', `sale_evaluation` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '销售额评估',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`ledger_id`) USING BTREE PRIMARY KEY (`ledger_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 16760 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目台账' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 16760 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目台账' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of fnc_ledger -- Records of fnc_ledger
...@@ -2353,6 +2353,31 @@ INSERT INTO `fnc_ledger` VALUES (16757, '全系列', '2022-11-15', '杭州耀恒 ...@@ -2353,6 +2353,31 @@ INSERT INTO `fnc_ledger` VALUES (16757, '全系列', '2022-11-15', '杭州耀恒
INSERT INTO `fnc_ledger` VALUES (16758, '全系列', '2022-11-15', '山东品派无纺布制品有限公司', '孙凌云', '13361520666', '20221115', '李小龙', '山东品派无纺布制品有限公司', '内贸', '0万', 'admin', '2022-11-16 22:14:51', 'admin', '2022-11-16 22:14:51'); INSERT INTO `fnc_ledger` VALUES (16758, '全系列', '2022-11-15', '山东品派无纺布制品有限公司', '孙凌云', '13361520666', '20221115', '李小龙', '山东品派无纺布制品有限公司', '内贸', '0万', 'admin', '2022-11-16 22:14:51', 'admin', '2022-11-16 22:14:51');
INSERT INTO `fnc_ledger` VALUES (16759, '全系列', '2022-11-15', '泉州瑞尔无纺布有限公司', '陈燕瑞', '13905058650', '20221115', '李小龙', '泉州瑞尔无纺布有限公司', '内贸', '0万', 'admin', '2022-11-16 22:14:51', 'admin', '2022-11-16 22:14:51'); INSERT INTO `fnc_ledger` VALUES (16759, '全系列', '2022-11-15', '泉州瑞尔无纺布有限公司', '陈燕瑞', '13905058650', '20221115', '李小龙', '泉州瑞尔无纺布有限公司', '内贸', '0万', 'admin', '2022-11-16 22:14:51', 'admin', '2022-11-16 22:14:51');
-- ----------------------------
-- Table structure for fnc_subject_type
-- ----------------------------
DROP TABLE IF EXISTS `fnc_subject_type`;
CREATE TABLE `fnc_subject_type` (
`subject_type_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '科目类别id',
`parent_id` bigint(20) NULL DEFAULT 0 COMMENT '上级id',
`subject_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '科目类别名称',
`order_num` int(4) NULL DEFAULT NULL COMMENT '显示顺序',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`delete_status` int(4) NULL DEFAULT NULL COMMENT '是否删除',
PRIMARY KEY (`subject_type_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '科目类别' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of fnc_subject_type
-- ----------------------------
INSERT INTO `fnc_subject_type` VALUES (1, 0, '3', 3, 'admin', '2022-11-17 14:06:27', 'admin', '2022-11-17 14:06:27', 2);
INSERT INTO `fnc_subject_type` VALUES (2, 0, '1-1', 1, 'admin', '2022-11-17 16:49:38', 'admin', '2022-11-17 16:49:38', 2);
INSERT INTO `fnc_subject_type` VALUES (3, 0, '3', 3, 'admin', '2022-11-17 17:00:41', 'admin', '2022-11-17 17:00:41', NULL);
INSERT INTO `fnc_subject_type` VALUES (4, 0, '1-2', 2, 'admin', '2022-11-17 17:12:03', 'admin', '2022-11-17 17:12:03', 1);
-- ---------------------------- -- ----------------------------
-- Table structure for gen_table -- Table structure for gen_table
-- ---------------------------- -- ----------------------------
...@@ -2374,18 +2399,19 @@ CREATE TABLE `gen_table` ( ...@@ -2374,18 +2399,19 @@ CREATE TABLE `gen_table` (
`gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)',
`options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其它生成选项', `options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '其它生成选项',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`table_id`) USING BTREE PRIMARY KEY (`table_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of gen_table -- Records of gen_table
-- ---------------------------- -- ----------------------------
INSERT INTO `gen_table` VALUES (18, 'fnc_company', '记账公司表', NULL, NULL, 'FncCompany', 'crud', 'com.ruoyi.system', 'system', 'company', '记账公司', 'ruoyi', '0', '/', NULL, 'admin', '2022-11-16 11:35:57', '', NULL, NULL); INSERT INTO `gen_table` VALUES (18, 'fnc_company', '记账公司表', NULL, NULL, 'FncCompany', 'crud', 'com.ruoyi.system', 'system', 'company', '记账公司', 'ruoyi', '0', '/', NULL, 'admin', '2022-11-16 11:35:57', '', NULL, NULL);
INSERT INTO `gen_table` VALUES (19, 'fnc_ledger', '项目台账', NULL, NULL, 'FncLedger', 'crud', 'com.ruoyi.finance', 'finance', 'ledger', '项目台账', 'ruoyi', '0', '/', '{}', 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:41:51', NULL); INSERT INTO `gen_table` VALUES (19, 'fnc_ledger', '项目台账', NULL, NULL, 'FncLedger', 'crud', 'com.ruoyi.finance', 'finance', 'ledger', '项目台账', 'ruoyi', '0', '/', '{}', 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:41:51', NULL);
INSERT INTO `gen_table` VALUES (20, 'fnc_subject_type', '科目类别', NULL, NULL, 'FncSubjectType', 'crud', 'com.ruoyi.system', 'system', 'subjectType', '科目类别', 'jlf', '0', '/', '{}', 'admin', '2022-11-17 10:37:45', '', '2022-11-17 10:39:33', NULL);
-- ---------------------------- -- ----------------------------
-- Table structure for gen_table_column -- Table structure for gen_table_column
...@@ -2411,27 +2437,27 @@ CREATE TABLE `gen_table_column` ( ...@@ -2411,27 +2437,27 @@ CREATE TABLE `gen_table_column` (
`dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型', `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型',
`sort` int(11) NULL DEFAULT NULL COMMENT '排序', `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`column_id`) USING BTREE PRIMARY KEY (`column_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 202 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 211 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of gen_table_column -- Records of gen_table_column
-- ---------------------------- -- ----------------------------
INSERT INTO `gen_table_column` VALUES (174, '18', 'company_id', '记账公司id', 'bigint(20)', 'Long', 'companyId', '1', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (174, '18', 'company_id', '记账公司id', 'bigint(20)', 'Long', 'companyId', '1', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (175, '18', 'company_name', '记账公司名称', 'varchar(50)', 'String', 'companyName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (175, '18', 'company_name', '记账公司名称', 'varchar(50)', 'String', 'companyName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (176, '18', 'license_no', '营业执照号', 'varchar(50)', 'String', 'licenseNo', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (176, '18', 'license_no', '营业执照号', 'varchar(50)', 'String', 'licenseNo', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (177, '18', 'company_address', '公司地址', 'varchar(100)', 'String', 'companyAddress', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (177, '18', 'company_address', '公司地址', 'varchar(100)', 'String', 'companyAddress', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (178, '18', 'contact_information', '联系方式', 'varchar(50)', 'String', 'contactInformation', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (178, '18', 'contact_information', '联系方式', 'varchar(50)', 'String', 'contactInformation', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (179, '18', 'bank_deposit', '开户行', 'varchar(100)', 'String', 'bankDeposit', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (179, '18', 'bank_deposit', '开户行', 'varchar(100)', 'String', 'bankDeposit', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (180, '18', 'bank_account_name', '银行账户名称', 'varchar(100)', 'String', 'bankAccountName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 7, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (180, '18', 'bank_account_name', '银行账户名称', 'varchar(100)', 'String', 'bankAccountName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 7, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (181, '18', 'bank_account', '银行账户', 'varchar(100)', 'String', 'bankAccount', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (181, '18', 'bank_account', '银行账户', 'varchar(100)', 'String', 'bankAccount', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (182, '18', 'create_by', '创建人', 'varchar(255)', 'String', 'createBy', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 9, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (182, '18', 'create_by', '创建人', 'varchar(255)', 'String', 'createBy', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 9, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (183, '18', 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 10, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (183, '18', 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 10, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (184, '18', 'update_by', '更新人', 'varchar(255)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 11, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (184, '18', 'update_by', '更新人', 'varchar(255)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 11, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (185, '18', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 12, 'admin', '2022-11-16 11:35:57', '', NULL); INSERT INTO `gen_table_column` VALUES (185, '18', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 12, 'admin', '2022-11-16 11:35:57', '', '2022-11-17 10:59:46');
INSERT INTO `gen_table_column` VALUES (186, '19', 'ledger_id', '项目台账id', 'bigint(50)', 'Long', 'ledgerId', '1', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43'); INSERT INTO `gen_table_column` VALUES (186, '19', 'ledger_id', '项目台账id', 'bigint(50)', 'Long', 'ledgerId', '1', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43');
INSERT INTO `gen_table_column` VALUES (187, '19', 'project_type', '分类', 'varchar(20)', 'String', 'projectType', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'select', '', 2, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43'); INSERT INTO `gen_table_column` VALUES (187, '19', 'project_type', '分类', 'varchar(20)', 'String', 'projectType', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'select', '', 2, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43');
INSERT INTO `gen_table_column` VALUES (188, '19', 'date', '日期', 'date', 'Date', 'date', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 3, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43'); INSERT INTO `gen_table_column` VALUES (188, '19', 'date', '日期', 'date', 'Date', 'date', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 3, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43');
...@@ -2447,6 +2473,15 @@ INSERT INTO `gen_table_column` VALUES (198, '19', 'create_time', '创建时间', ...@@ -2447,6 +2473,15 @@ INSERT INTO `gen_table_column` VALUES (198, '19', 'create_time', '创建时间',
INSERT INTO `gen_table_column` VALUES (199, '19', 'update_by', '更新人', 'varchar(64)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 14, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43'); INSERT INTO `gen_table_column` VALUES (199, '19', 'update_by', '更新人', 'varchar(64)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 14, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43');
INSERT INTO `gen_table_column` VALUES (200, '19', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 15, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43'); INSERT INTO `gen_table_column` VALUES (200, '19', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 15, 'admin', '2022-11-16 14:39:19', '', '2022-11-16 14:59:43');
INSERT INTO `gen_table_column` VALUES (201, '19', 'create_by', '创建人', 'varchar(64)', 'String', 'createBy', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 12, '', '2022-11-16 14:59:43', '', NULL); INSERT INTO `gen_table_column` VALUES (201, '19', 'create_by', '创建人', 'varchar(64)', 'String', 'createBy', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 12, '', '2022-11-16 14:59:43', '', NULL);
INSERT INTO `gen_table_column` VALUES (202, '20', 'subject_type_id', '科目类别id', 'bigint(20)', 'Long', 'subjectTypeId', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (203, '20', 'parent_id', '上级id', 'bigint(20)', 'Long', 'parentId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (204, '20', 'subject_type_name', '科目类别名称', 'varchar(50)', 'String', 'subjectTypeName', '0', '0', NULL, '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (205, '20', 'order_num', '显示顺序', 'int(4)', 'Integer', 'orderNum', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (206, '20', 'create_by', '创建人', 'varchar(64)', 'String', 'createBy', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 5, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (207, '20', 'create_time', '创建时间', 'datetime', 'Date', 'createTime', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 6, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (208, '20', 'update_by', '更新人', 'varchar(64)', 'String', 'updateBy', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 7, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (209, '20', 'update_time', '更新时间', 'datetime', 'Date', 'updateTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 8, 'admin', '2022-11-17 10:37:45', '', '2022-11-17 14:05:37');
INSERT INTO `gen_table_column` VALUES (210, '20', 'delete_status', '是否删除', 'int(4)', 'Integer', 'deleteStatus', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'radio', '', 9, '', '2022-11-17 14:05:37', '', NULL);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_config -- Table structure for sys_config
...@@ -2459,12 +2494,12 @@ CREATE TABLE `sys_config` ( ...@@ -2459,12 +2494,12 @@ CREATE TABLE `sys_config` (
`config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键值', `config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '参数键值',
`config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '系统内置(Y是 N否)', `config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '系统内置(Y是 N否)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`config_id`) USING BTREE PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_config -- Records of sys_config
...@@ -2491,11 +2526,11 @@ CREATE TABLE `sys_dept` ( ...@@ -2491,11 +2526,11 @@ CREATE TABLE `sys_dept` (
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '部门状态(0正常 1停用)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '部门状态(0正常 1停用)',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`dept_id`) USING BTREE PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 200 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 201 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_dept -- Records of sys_dept
...@@ -2510,6 +2545,7 @@ INSERT INTO `sys_dept` VALUES (106, 101, '0,100,101', '财务部门', 4, '若依 ...@@ -2510,6 +2545,7 @@ INSERT INTO `sys_dept` VALUES (106, 101, '0,100,101', '财务部门', 4, '若依
INSERT INTO `sys_dept` VALUES (107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2022-11-16 09:26:25', '', NULL); INSERT INTO `sys_dept` VALUES (107, 101, '0,100,101', '运维部门', 5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2022-11-16 09:26:25', '', NULL);
INSERT INTO `sys_dept` VALUES (108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2022-11-16 09:26:25', '', NULL); INSERT INTO `sys_dept` VALUES (108, 102, '0,100,102', '市场部门', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2022-11-16 09:26:25', '', NULL);
INSERT INTO `sys_dept` VALUES (109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2022-11-16 09:26:25', '', NULL); INSERT INTO `sys_dept` VALUES (109, 102, '0,100,102', '财务部门', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2022-11-16 09:26:25', '', NULL);
INSERT INTO `sys_dept` VALUES (200, 103, '0,100,101,103', 'test', 3, 'test', NULL, NULL, '0', '0', 'admin', '2022-11-17 15:04:56', '', NULL);
-- ---------------------------- -- ----------------------------
-- Table structure for sys_dict_data -- Table structure for sys_dict_data
...@@ -2526,12 +2562,12 @@ CREATE TABLE `sys_dict_data` ( ...@@ -2526,12 +2562,12 @@ CREATE TABLE `sys_dict_data` (
`is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)', `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否默认(Y是 N否)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_code`) USING BTREE PRIMARY KEY (`dict_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_dict_data -- Records of sys_dict_data
...@@ -2578,13 +2614,13 @@ CREATE TABLE `sys_dict_type` ( ...@@ -2578,13 +2614,13 @@ CREATE TABLE `sys_dict_type` (
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型', `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_id`) USING BTREE, PRIMARY KEY (`dict_id`) USING BTREE,
UNIQUE INDEX `dict_type`(`dict_type`) USING BTREE UNIQUE INDEX `dict_type`(`dict_type`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_dict_type -- Records of sys_dict_type
...@@ -2615,12 +2651,12 @@ CREATE TABLE `sys_job` ( ...@@ -2615,12 +2651,12 @@ CREATE TABLE `sys_job` (
`concurrent` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', `concurrent` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1暂停)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '状态(0正常 1暂停)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注信息', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注信息',
PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE PRIMARY KEY (`job_id`, `job_name`, `job_group`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_job -- Records of sys_job
...@@ -2641,9 +2677,9 @@ CREATE TABLE `sys_job_log` ( ...@@ -2641,9 +2677,9 @@ CREATE TABLE `sys_job_log` (
`job_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '日志信息', `job_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '日志信息',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '执行状态(0正常 1失败)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '执行状态(0正常 1失败)',
`exception_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '异常信息', `exception_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '异常信息',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`job_log_id`) USING BTREE PRIMARY KEY (`job_log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_job_log -- Records of sys_job_log
...@@ -2662,9 +2698,9 @@ CREATE TABLE `sys_logininfor` ( ...@@ -2662,9 +2698,9 @@ CREATE TABLE `sys_logininfor` (
`os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作系统', `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '操作系统',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '登录状态(0成功 1失败)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '登录状态(0成功 1失败)',
`msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提示消息', `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提示消息',
`login_time` datetime NULL DEFAULT NULL COMMENT '访问时间', `login_time` datetime(0) NULL DEFAULT NULL COMMENT '访问时间',
PRIMARY KEY (`info_id`) USING BTREE PRIMARY KEY (`info_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 117 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 129 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_logininfor -- Records of sys_logininfor
...@@ -2686,6 +2722,18 @@ INSERT INTO `sys_logininfor` VALUES (113, 'admin', '127.0.0.1', '内网IP', 'Chr ...@@ -2686,6 +2722,18 @@ INSERT INTO `sys_logininfor` VALUES (113, 'admin', '127.0.0.1', '内网IP', 'Chr
INSERT INTO `sys_logininfor` VALUES (114, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-16 13:14:59'); INSERT INTO `sys_logininfor` VALUES (114, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-16 13:14:59');
INSERT INTO `sys_logininfor` VALUES (115, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '退出成功', '2022-11-16 13:17:01'); INSERT INTO `sys_logininfor` VALUES (115, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '退出成功', '2022-11-16 13:17:01');
INSERT INTO `sys_logininfor` VALUES (116, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-16 13:17:07'); INSERT INTO `sys_logininfor` VALUES (116, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-16 13:17:07');
INSERT INTO `sys_logininfor` VALUES (117, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-17 09:09:28');
INSERT INTO `sys_logininfor` VALUES (118, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-17 09:58:40');
INSERT INTO `sys_logininfor` VALUES (119, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '1', '验证码错误', '2022-11-17 11:52:07');
INSERT INTO `sys_logininfor` VALUES (120, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-17 11:52:10');
INSERT INTO `sys_logininfor` VALUES (121, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '退出成功', '2022-11-17 11:57:52');
INSERT INTO `sys_logininfor` VALUES (122, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-17 11:59:07');
INSERT INTO `sys_logininfor` VALUES (123, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '退出成功', '2022-11-17 12:00:30');
INSERT INTO `sys_logininfor` VALUES (124, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-17 12:00:34');
INSERT INTO `sys_logininfor` VALUES (125, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-17 13:55:52');
INSERT INTO `sys_logininfor` VALUES (126, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '1', '验证码错误', '2022-11-17 15:57:38');
INSERT INTO `sys_logininfor` VALUES (127, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '1', '验证码错误', '2022-11-17 15:57:43');
INSERT INTO `sys_logininfor` VALUES (128, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-17 15:57:48');
-- ---------------------------- -- ----------------------------
-- Table structure for sys_menu -- Table structure for sys_menu
...@@ -2707,12 +2755,12 @@ CREATE TABLE `sys_menu` ( ...@@ -2707,12 +2755,12 @@ CREATE TABLE `sys_menu` (
`perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识', `perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识',
`icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '#' COMMENT '菜单图标', `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '#' COMMENT '菜单图标',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '备注',
PRIMARY KEY (`menu_id`) USING BTREE PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2014 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 2021 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_menu -- Records of sys_menu
...@@ -2814,6 +2862,13 @@ INSERT INTO `sys_menu` VALUES (2010, '项目台账修改', 2007, 3, '#', '', NUL ...@@ -2814,6 +2862,13 @@ INSERT INTO `sys_menu` VALUES (2010, '项目台账修改', 2007, 3, '#', '', NUL
INSERT INTO `sys_menu` VALUES (2011, '项目台账删除', 2007, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:ledger:remove', '#', 'admin', '2022-11-16 14:51:16', '', NULL, ''); INSERT INTO `sys_menu` VALUES (2011, '项目台账删除', 2007, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:ledger:remove', '#', 'admin', '2022-11-16 14:51:16', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2012, '项目台账导出', 2007, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:ledger:export', '#', 'admin', '2022-11-16 14:51:16', '', NULL, ''); INSERT INTO `sys_menu` VALUES (2012, '项目台账导出', 2007, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:ledger:export', '#', 'admin', '2022-11-16 14:51:16', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2013, '项目台账导入', 2007, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'finance:ledger:import', '#', 'admin', '2022-11-16 15:44:33', 'admin', '2022-11-16 15:44:51', ''); INSERT INTO `sys_menu` VALUES (2013, '项目台账导入', 2007, 6, '', NULL, NULL, 1, 0, 'F', '0', '0', 'finance:ledger:import', '#', 'admin', '2022-11-16 15:44:33', 'admin', '2022-11-16 15:44:51', '');
INSERT INTO `sys_menu` VALUES (2014, '记账科目管理', 2000, 2, 'subject', NULL, NULL, 1, 0, 'M', '0', '0', '', 'job', 'admin', '2022-11-17 09:31:02', 'admin', '2022-11-17 12:02:38', '');
INSERT INTO `sys_menu` VALUES (2015, '科目类别', 2014, 1, 'subjecttype', 'finance/subjecttype/index', NULL, 1, 0, 'C', '0', '0', 'finance:subjectType:list', '#', 'admin', '2022-11-17 11:56:57', 'admin', '2022-11-17 12:03:17', '科目类别菜单');
INSERT INTO `sys_menu` VALUES (2016, '科目类别查询', 2015, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:subjectType:query', '#', 'admin', '2022-11-17 11:56:57', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2017, '科目类别新增', 2015, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:subjectType:add', '#', 'admin', '2022-11-17 11:56:57', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2018, '科目类别修改', 2015, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:subjectType:edit', '#', 'admin', '2022-11-17 11:56:57', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2019, '科目类别删除', 2015, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:subjectType:remove', '#', 'admin', '2022-11-17 11:56:57', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2020, '科目类别导出', 2015, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'finance:subjectType:export', '#', 'admin', '2022-11-17 11:56:57', '', NULL, '');
-- ---------------------------- -- ----------------------------
-- Table structure for sys_notice -- Table structure for sys_notice
...@@ -2826,12 +2881,12 @@ CREATE TABLE `sys_notice` ( ...@@ -2826,12 +2881,12 @@ CREATE TABLE `sys_notice` (
`notice_content` longblob NULL COMMENT '公告内容', `notice_content` longblob NULL COMMENT '公告内容',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`notice_id`) USING BTREE PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知公告表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_notice -- Records of sys_notice
...@@ -2859,9 +2914,9 @@ CREATE TABLE `sys_oper_log` ( ...@@ -2859,9 +2914,9 @@ CREATE TABLE `sys_oper_log` (
`json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '返回参数', `json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '返回参数',
`status` int(1) NULL DEFAULT 0 COMMENT '操作状态(0正常 1异常)', `status` int(1) NULL DEFAULT 0 COMMENT '操作状态(0正常 1异常)',
`error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '错误消息', `error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '错误消息',
`oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间', `oper_time` datetime(0) NULL DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`oper_id`) USING BTREE PRIMARY KEY (`oper_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 170 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 190 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_oper_log -- Records of sys_oper_log
...@@ -2936,6 +2991,26 @@ INSERT INTO `sys_oper_log` VALUES (166, '项目台账', 6, 'com.ruoyi.web.contro ...@@ -2936,6 +2991,26 @@ INSERT INTO `sys_oper_log` VALUES (166, '项目台账', 6, 'com.ruoyi.web.contro
INSERT INTO `sys_oper_log` VALUES (167, '项目台账', 6, 'com.ruoyi.web.controller.finance.FncLedgerController.importData()', 'POST', 1, 'admin', NULL, '/finance/ledger/import', '127.0.0.1', '内网IP', 'false', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-16 14:09:28'); INSERT INTO `sys_oper_log` VALUES (167, '项目台账', 6, 'com.ruoyi.web.controller.finance.FncLedgerController.importData()', 'POST', 1, 'admin', NULL, '/finance/ledger/import', '127.0.0.1', '内网IP', 'false', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-16 14:09:28');
INSERT INTO `sys_oper_log` VALUES (168, '项目台账', 6, 'com.ruoyi.web.controller.finance.FncLedgerController.importData()', 'POST', 1, 'admin', NULL, '/finance/ledger/import', '127.0.0.1', '内网IP', 'false', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-16 14:11:05'); INSERT INTO `sys_oper_log` VALUES (168, '项目台账', 6, 'com.ruoyi.web.controller.finance.FncLedgerController.importData()', 'POST', 1, 'admin', NULL, '/finance/ledger/import', '127.0.0.1', '内网IP', 'false', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-16 14:11:05');
INSERT INTO `sys_oper_log` VALUES (169, '项目台账', 6, 'com.ruoyi.web.controller.finance.FncLedgerController.importData()', 'POST', 1, 'admin', NULL, '/finance/ledger/import', '127.0.0.1', '内网IP', 'false', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-16 14:14:51'); INSERT INTO `sys_oper_log` VALUES (169, '项目台账', 6, 'com.ruoyi.web.controller.finance.FncLedgerController.importData()', 'POST', 1, 'admin', NULL, '/finance/ledger/import', '127.0.0.1', '内网IP', 'false', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-16 14:14:51');
INSERT INTO `sys_oper_log` VALUES (170, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.add()', 'POST', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createBy\":\"admin\",\"icon\":\"job\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuName\":\"记账科目管理\",\"menuType\":\"M\",\"orderNum\":2,\"params\":{},\"parentId\":2000,\"path\":\"subject\",\"status\":\"0\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 09:31:02');
INSERT INTO `sys_oper_log` VALUES (171, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', NULL, '/tool/gen/importTable', '127.0.0.1', '内网IP', '\"fnc_subject_type\"', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 10:37:45');
INSERT INTO `sys_oper_log` VALUES (172, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"subjectType\",\"className\":\"FncSubjectType\",\"columns\":[{\"capJavaField\":\"SubjectTypeId\",\"columnComment\":\"科目类别id\",\"columnId\":202,\"columnName\":\"subject_type_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-17 10:37:45\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"subjectTypeId\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":20,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"ParentId\",\"columnComment\":\"上级id\",\"columnId\":203,\"columnName\":\"parent_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-17 10:37:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"isRequired\":\"1\",\"javaField\":\"parentId\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":true,\"sort\":2,\"superColumn\":true,\"tableId\":20,\"updateBy\":\"\",\"usableColumn\":true},{\"capJavaField\":\"SubjectTypeName\",\"columnComment\":\"科目类别名称\",\"columnId\":204,\"columnName\":\"subject_type_name\",\"columnType\":\"varchar(50)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-17 10:37:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"subjectTypeName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":20,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"OrderNum\",\"columnComment\":\"显示顺序\",\"columnId\":205,\"columnName\":\"order_num\",\"columnType\":\"int(4)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-17 10:37:45\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 10:39:33');
INSERT INTO `sys_oper_log` VALUES (173, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{}', NULL, 0, NULL, '2022-11-17 10:47:20');
INSERT INTO `sys_oper_log` VALUES (174, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.synchDb()', 'GET', 1, 'admin', NULL, '/tool/gen/synchDb/fnc_company', '127.0.0.1', '内网IP', '{tableName=fnc_company}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 10:59:46');
INSERT INTO `sys_oper_log` VALUES (175, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.synchDb()', 'GET', 1, 'admin', NULL, '/tool/gen/synchDb/fnc_subject_type', '127.0.0.1', '内网IP', '{tableName=fnc_subject_type}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 11:00:08');
INSERT INTO `sys_oper_log` VALUES (176, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"finance/subjectype/index\",\"createTime\":\"2022-11-17 11:56:57\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"科目类别\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2014,\"path\":\"subjectType\",\"perms\":\"finance:subjectType:list\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 11:59:37');
INSERT INTO `sys_oper_log` VALUES (177, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"finance/subjectype/index\",\"createTime\":\"2022-11-17 11:56:57\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"科目类别\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2014,\"path\":\"subjectType\",\"perms\":\"finance:subjectType:list\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 12:00:27');
INSERT INTO `sys_oper_log` VALUES (178, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"finance/subjectype/index\",\"createTime\":\"2022-11-17 11:56:57\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"科目类别\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2014,\"path\":\"subjecttype\",\"perms\":\"finance:subjectType:list\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 12:01:27');
INSERT INTO `sys_oper_log` VALUES (179, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"createTime\":\"2022-11-17 09:31:02\",\"icon\":\"job\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2014,\"menuName\":\"记账科目管理\",\"menuType\":\"M\",\"orderNum\":2,\"params\":{},\"parentId\":2000,\"path\":\"subject\",\"perms\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 12:02:38');
INSERT INTO `sys_oper_log` VALUES (180, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.edit()', 'PUT', 1, 'admin', NULL, '/system/menu', '127.0.0.1', '内网IP', '{\"children\":[],\"component\":\"finance/subjecttype/index\",\"createTime\":\"2022-11-17 11:56:57\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"科目类别\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2014,\"path\":\"subjecttype\",\"perms\":\"finance:subjectType:list\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 12:03:17');
INSERT INTO `sys_oper_log` VALUES (181, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.synchDb()', 'GET', 1, 'admin', NULL, '/tool/gen/synchDb/fnc_subject_type', '127.0.0.1', '内网IP', '{tableName=fnc_subject_type}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 14:05:37');
INSERT INTO `sys_oper_log` VALUES (182, '科目类别', 1, 'com.ruoyi.system.controller.FncSubjectTypeController.add()', 'POST', 1, 'admin', NULL, '/finance/subjectType/add', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"createTime\":\"2022-11-17T14:06:27.204+08:00\",\"deleteStatus\":1,\"orderNum\":3,\"params\":{},\"parentId\":0,\"subjectTypeName\":\"3\",\"updateBy\":\"admin\",\"updateTime\":\"2022-11-17T14:06:27.204+08:00\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 14:06:27');
INSERT INTO `sys_oper_log` VALUES (183, '科目类别', 3, 'com.ruoyi.system.controller.FncSubjectTypeController.remove()', 'GET', 1, 'admin', NULL, '/finance/subjectType/remove/1', '127.0.0.1', '内网IP', '{subjectTypeIds=1}', '{\"msg\":\"操作失败\",\"code\":500}', 0, NULL, '2022-11-17 14:08:20');
INSERT INTO `sys_oper_log` VALUES (184, '科目类别', 3, 'com.ruoyi.system.controller.FncSubjectTypeController.remove()', 'GET', 1, 'admin', NULL, '/finance/subjectType/remove/1', '127.0.0.1', '内网IP', '{subjectTypeIds=1}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 14:10:13');
INSERT INTO `sys_oper_log` VALUES (185, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.add()', 'POST', 1, 'admin', NULL, '/system/dept', '127.0.0.1', '内网IP', '{\"ancestors\":\"0,100,101,103\",\"children\":[],\"createBy\":\"admin\",\"deptName\":\"test\",\"leader\":\"test\",\"orderNum\":3,\"params\":{},\"parentId\":103,\"phone\":\"\",\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 15:04:56');
INSERT INTO `sys_oper_log` VALUES (186, '科目类别', 1, 'com.ruoyi.web.controller.finance.FncSubjectTypeController.add()', 'POST', 1, 'admin', NULL, '/finance/subjectType/add', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"createTime\":\"2022-11-17T16:49:37.577+08:00\",\"deleteStatus\":1,\"orderNum\":1,\"params\":{},\"parentId\":0,\"subjectTypeId\":2,\"subjectTypeName\":\"1-1\",\"updateBy\":\"admin\",\"updateTime\":\"2022-11-17T16:49:37.577+08:00\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 16:49:37');
INSERT INTO `sys_oper_log` VALUES (187, '科目类别', 3, 'com.ruoyi.web.controller.finance.FncSubjectTypeController.remove()', 'GET', 1, 'admin', NULL, '/finance/subjectType/remove/2', '127.0.0.1', '内网IP', '{subjectTypeIds=2}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 17:00:36');
INSERT INTO `sys_oper_log` VALUES (188, '科目类别', 1, 'com.ruoyi.web.controller.finance.FncSubjectTypeController.add()', 'POST', 1, 'admin', NULL, '/finance/subjectType/add', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"createTime\":\"2022-11-17T17:00:41.1+08:00\",\"deleteStatus\":1,\"orderNum\":3,\"params\":{},\"parentId\":0,\"subjectTypeId\":3,\"subjectTypeName\":\"3\",\"updateBy\":\"admin\",\"updateTime\":\"2022-11-17T17:00:41.1+08:00\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 17:00:41');
INSERT INTO `sys_oper_log` VALUES (189, '科目类别', 1, 'com.ruoyi.web.controller.finance.FncSubjectTypeController.add()', 'POST', 1, 'admin', NULL, '/finance/subjectType/add', '127.0.0.1', '内网IP', '{\"createBy\":\"admin\",\"createTime\":\"2022-11-17T17:12:03.451+08:00\",\"deleteStatus\":1,\"orderNum\":2,\"params\":{},\"parentId\":0,\"subjectTypeId\":4,\"subjectTypeName\":\"1-2\",\"updateBy\":\"admin\",\"updateTime\":\"2022-11-17T17:12:03.451+08:00\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-17 17:12:03');
-- ---------------------------- -- ----------------------------
-- Table structure for sys_post -- Table structure for sys_post
...@@ -2948,12 +3023,12 @@ CREATE TABLE `sys_post` ( ...@@ -2948,12 +3023,12 @@ CREATE TABLE `sys_post` (
`post_sort` int(4) NOT NULL COMMENT '显示顺序', `post_sort` int(4) NOT NULL COMMENT '显示顺序',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态(0正常 1停用)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态(0正常 1停用)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`post_id`) USING BTREE PRIMARY KEY (`post_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '岗位信息表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '岗位信息表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_post -- Records of sys_post
...@@ -2978,12 +3053,12 @@ CREATE TABLE `sys_role` ( ...@@ -2978,12 +3053,12 @@ CREATE TABLE `sys_role` (
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色状态(0正常 1停用)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色状态(0正常 1停用)',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`role_id`) USING BTREE PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_role -- Records of sys_role
...@@ -2999,7 +3074,7 @@ CREATE TABLE `sys_role_dept` ( ...@@ -2999,7 +3074,7 @@ CREATE TABLE `sys_role_dept` (
`role_id` bigint(20) NOT NULL COMMENT '角色ID', `role_id` bigint(20) NOT NULL COMMENT '角色ID',
`dept_id` bigint(20) NOT NULL COMMENT '部门ID', `dept_id` bigint(20) NOT NULL COMMENT '部门ID',
PRIMARY KEY (`role_id`, `dept_id`) USING BTREE PRIMARY KEY (`role_id`, `dept_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和部门关联表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_role_dept -- Records of sys_role_dept
...@@ -3016,7 +3091,7 @@ CREATE TABLE `sys_role_menu` ( ...@@ -3016,7 +3091,7 @@ CREATE TABLE `sys_role_menu` (
`role_id` bigint(20) NOT NULL COMMENT '角色ID', `role_id` bigint(20) NOT NULL COMMENT '角色ID',
`menu_id` bigint(20) NOT NULL COMMENT '菜单ID', `menu_id` bigint(20) NOT NULL COMMENT '菜单ID',
PRIMARY KEY (`role_id`, `menu_id`) USING BTREE PRIMARY KEY (`role_id`, `menu_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_role_menu -- Records of sys_role_menu
...@@ -3129,19 +3204,19 @@ CREATE TABLE `sys_user` ( ...@@ -3129,19 +3204,19 @@ CREATE TABLE `sys_user` (
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
`login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '最后登录IP', `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '最后登录IP',
`login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间', `login_date` datetime(0) NULL DEFAULT NULL COMMENT '最后登录时间',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者', `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间', `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`user_id`) USING BTREE PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_user -- Records of sys_user
-- ---------------------------- -- ----------------------------
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '/profile/avatar/2022/11/16/blob_20221116131804A001.png', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2022-11-16 21:17:07', 'admin', '2022-11-16 09:26:25', '', '2022-11-16 13:17:07', '管理员'); INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '/profile/avatar/2022/11/16/blob_20221116131804A001.png', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2022-11-17 15:57:49', 'admin', '2022-11-16 09:26:25', '', '2022-11-17 15:57:48', '管理员');
INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$72XZlIXBNHqFzVMZlzMp7etQzpbmlM22MW1VWNw5q..el.zHjYtT6', '0', '0', '127.0.0.1', '2022-11-16 13:30:08', 'admin', '2022-11-16 09:26:25', 'admin', '2022-11-16 13:30:07', '测试员'); INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$72XZlIXBNHqFzVMZlzMp7etQzpbmlM22MW1VWNw5q..el.zHjYtT6', '0', '0', '127.0.0.1', '2022-11-16 13:30:08', 'admin', '2022-11-16 09:26:25', 'admin', '2022-11-16 13:30:07', '测试员');
-- ---------------------------- -- ----------------------------
...@@ -3152,7 +3227,7 @@ CREATE TABLE `sys_user_post` ( ...@@ -3152,7 +3227,7 @@ CREATE TABLE `sys_user_post` (
`user_id` bigint(20) NOT NULL COMMENT '用户ID', `user_id` bigint(20) NOT NULL COMMENT '用户ID',
`post_id` bigint(20) NOT NULL COMMENT '岗位ID', `post_id` bigint(20) NOT NULL COMMENT '岗位ID',
PRIMARY KEY (`user_id`, `post_id`) USING BTREE PRIMARY KEY (`user_id`, `post_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_user_post -- Records of sys_user_post
...@@ -3168,7 +3243,7 @@ CREATE TABLE `sys_user_role` ( ...@@ -3168,7 +3243,7 @@ CREATE TABLE `sys_user_role` (
`user_id` bigint(20) NOT NULL COMMENT '用户ID', `user_id` bigint(20) NOT NULL COMMENT '用户ID',
`role_id` bigint(20) NOT NULL COMMENT '角色ID', `role_id` bigint(20) NOT NULL COMMENT '角色ID',
PRIMARY KEY (`user_id`, `role_id`) USING BTREE PRIMARY KEY (`user_id`, `role_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = DYNAMIC; ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;
-- ---------------------------- -- ----------------------------
-- Records of sys_user_role -- Records of sys_user_role
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment