20200619-zlp-1

首页-一日流程学习树
This commit is contained in:
paidaxing444 2020-06-19 17:08:30 +08:00
parent 21ed75af7a
commit eb8ab45518
14 changed files with 261 additions and 495 deletions

View File

@ -13,6 +13,10 @@
<template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" />
<el-tooltip content="系统使用文档" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip>
<screenfull id="screenfull" class="right-menu-item hover-effect" />
<el-tooltip content="布局大小" effect="dark" placement="bottom">
@ -51,6 +55,7 @@ import Hamburger from "@/components/Hamburger";
import Screenfull from "@/components/Screenfull";
import SizeSelect from "@/components/SizeSelect";
import Search from "@/components/HeaderSearch";
import RuoYiDoc from '@/components/BenYi/Doc'
import { getDeptsInfo } from "@/api/system/dept";
export default {
@ -59,7 +64,8 @@ export default {
Hamburger,
Screenfull,
SizeSelect,
Search
Search,
RuoYiDoc
},
computed: {
...mapGetters(["sidebar", "avatar", "device"]),

View File

@ -3,14 +3,14 @@
<el-row :gutter="20">
<el-col :span="4" :xs="24">
<div class="head-container">
<!-- <el-input
<el-input
v-model="name"
placeholder="请输入课程名称"
placeholder="请输入名称"
clearable
size="small"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/> -->
/>
</div>
<div class="head-container">
<el-tree
@ -23,235 +23,49 @@
@node-click="handleNodeClick"
/>
</div>
</el-col>
<el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
<el-form-item label="流程类型" prop="flowType">
<el-select v-model="queryParams.flowType" placeholder="请选择类型" clearable size="small">
<el-option
v-for="dict in dayflowtypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="流程名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入名称"
clearable
size="small"
@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"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['benyi:dayflowmanger:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['benyi:dayflowmanger:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['benyi:dayflowmanger:remove']"
>删除</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="detailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="流程ID" align="center" prop="id" />
<el-table-column label="流程名称" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link
:to="'/dayflow/dayflowmanger/dayflowtask/' + scope.row.id"
class="link-dayflow"
>
<span>{{ scope.row.name }}</span>
</router-link>
</template>
</el-table-column>
<el-table-column label="流程序号" align="center" prop="sortNumber" />
<el-table-column label="流程任务数量" align="center" prop="targetCount" />
<el-table-column label="类型" align="center" prop="flowType" :formatter="dayflowtypeFormat" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<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="['benyi:dayflowmanger:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['benyi:dayflowmanger:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-col>
<el-col :span="20" :xs="24">test</el-col>
</el-row>
<!-- 添加或修改一日流程对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1024px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="名称" prop="name">
<el-input v-model="form.name" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="流程序号" prop="sortNumber">
<el-input-number v-model="form.sortNumber" controls-position="right" :min="0" />
</el-form-item>
<el-form-item label="类型" prop="flowType">
<el-select v-model="form.flowType" placeholder="请选择类型">
<el-option
v-for="dict in dayflowtypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="导言" prop="content">
<Editor v-model="form.content" />
</el-form-item>
<el-form-item label="目的" prop="note">
<Editor v-model="form.note" />
</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 {
listDetail,
getDetail,
delDetail,
addDetail,
updateDetail
} from "@/api/benyi/dayflow/dayflowmanger";
import Editor from "@/components/Editor";
import { listDetail, getDetail } from "@/api/benyi/dayflow/dayflowmanger";
import { treeselect } from "@/api/benyi/dayflow/dayflowmanger";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Detail",
components: {
Editor
},
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
total: 0,
//
detailList: [],
//
title: "",
//
open: false,
//
dayflowtypeOptions: [],
//
name: undefined,
//
treeOptions: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: undefined,
flowType: undefined,
createUser: undefined,
updateUser: undefined
},
//
form: {},
//
defaultProps: {
children: "children",
label: "label"
},
//
rules: {
name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
content: [{ required: true, message: "导言不能为空", trigger: "blur" }],
note: [{ required: true, message: "目的不能为空", trigger: "blur" }],
sortNumber: [
{ required: true, message: "流程序号不能为空", trigger: "blur" }
],
flowType: [
{ required: true, message: "流程类型不能为空", trigger: "blur" }
]
}
};
},
watch: {
//
name(val) {
this.$refs.tree.filter(val);
}
},
created() {
this.getList();
this.getTreeselect();
this.getDicts("sys_dayflow_type").then(response => {
this.dayflowtypeOptions = response.data;
});
},
methods: {
/** 查询部门下拉树结构 */
getTreeselect() {
treeselect().then(response => {
this.treeOptions = response.data;
console.log(this.treeOptions);
});
},
//
@ -261,124 +75,6 @@ export default {
},
//
handleNodeClick(data) {
this.queryParams.id = data.id;
this.getList();
},
/** 查询一日流程列表 */
getList() {
this.loading = true;
listDetail(this.queryParams).then(response => {
this.detailList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// --
dayflowtypeFormat(row, column) {
return this.selectDictLabel(this.dayflowtypeOptions, row.flowType);
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: undefined,
sortNumber: 0,
targetCount: undefined,
name: undefined,
content: undefined,
note: undefined,
flowType: undefined,
createUser: undefined,
updateUser: undefined,
createTime: undefined,
updateTime: undefined
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加一日流程";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getDetail(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改一日流程";
});
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != undefined) {
updateDetail(this.form).then(response => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
} else {
this.msgError(response.msg);
}
});
} else {
addDetail(this.form).then(response => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
} else {
this.msgError(response.msg);
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm(
'是否确认删除一日流程编号为"' + ids + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}
)
.then(function() {
return delDetail(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function() {});
}
}
};

View File

@ -1,95 +1,147 @@
<template>
<div :class="className" :style="{height:height,width:width}" />
<div :class="className" :style="{height:height,width:width}">
<el-row :gutter="24">
<el-col :span="24" :xs="24">
<div>
<FullCalendar
ref="fullCalendar"
defaultView="dayGridMonth"
locale="zh-cn"
:buttonText="buttonText"
:plugins="calendarPlugins"
:events="calendarEvents"
:eventLimit="true"
:displayEventEnd="true"
eventLimitText="更多"
@eventClick="handleEventClick"
/>
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from './mixins/resize'
const animationDuration = 6000
import FullCalendar from "@fullcalendar/vue";
import dayGridPlugin from "@fullcalendar/daygrid";
import timeGridPlugin from "@fullcalendar/timegrid";
import interactionPlugin from "@fullcalendar/interaction";
import listPlugin from "@fullcalendar/list";
import { getAllSchoolCalendars } from "@/api/benyi/calendar";
export default {
mixins: [resize],
name: "fullcalendar_page",
components: {
FullCalendar
},
props: {
className: {
type: String,
default: 'chart'
default: "chart"
},
width: {
type: String,
default: '100%'
default: "100%"
},
height: {
type: String,
default: '300px'
default: "480px"
}
},
data() {
return {
chart: null
header: {
left: "prev,next today",
center: "title",
right: "dayGridMonth, listWeek"
},
buttonText: {
today: "今天",
month: "月",
list: "周列表"
},
calendarPlugins: [
// plugins must be defined in the JS
dayGridPlugin,
//timeGridPlugin,
//interactionPlugin, // needed for dateClick
listPlugin
],
calendarWeekends: true,
calendarEvents: [
// initial event data
// {
// title: 'Event Now',
// start: new Date(),
// color: '#A61000'
// }
],
calendarApi: null,
calendarData: [],
queryParams: {}
};
},
created() {
getAllSchoolCalendars(this.queryParams).then(response => {
this.calendarEvents = response.calendarData;
});
},
methods: {
handleEventClick(info) {
this.msgSuccess("活动: " + info.event.title);
}
},
mounted() {
this.$nextTick(() => {
this.initChart()
})
},
beforeDestroy() {
if (!this.chart) {
return
}
this.chart.dispose()
this.chart = null
},
methods: {
initChart() {
this.chart = echarts.init(this.$el, 'macarons')
this.calendarApi = this.$refs.fullCalendar.getApi();
}
};
</script>
this.chart.setOption({
tooltip: {
trigger: 'axis',
axisPointer: { //
type: 'shadow' // 线'line' | 'shadow'
}
},
grid: {
top: 10,
left: '2%',
right: '2%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: ['班级A', '班级B', '班级C', '班级D', '班级E', '班级F', '班级G'],
axisTick: {
alignWithLabel: true
}
}],
yAxis: [{
type: 'value',
axisTick: {
show: false
}
}],
series: [{
name: '幼儿出勤率',
type: 'bar',
stack: 'vistors',
barWidth: '60%',
data: [30, 29, 28, 31, 33, 18, 20],
animationDuration
}, {
name: '教师出勤率',
type: 'bar',
stack: 'vistors',
barWidth: '60%',
data: [3, 3, 3, 3, 2, 3, 3],
animationDuration
}]
})
<style lang="scss" scope>
// you must include each plugins' css
// paths prefixed with ~ signify node_modules
@import "~@fullcalendar/core/main.css";
@import "~@fullcalendar/daygrid/main.css";
@import "~@fullcalendar/timegrid/main.css";
@import "~@fullcalendar/list/main.css";
.calendar {
width: 820px;
height: 100%;
}
.fc-widget-content {
.fc-sun,
.fc-sat {
background: rgba(245, 246, 248, 0.6);
//background: rgba(109, 113, 121, 0.6);
}
}
.xs-btns-style {
@media screen and (max-width: 768px) {
display: flex;
flex-wrap: wrap;
.el-col {
width: auto;
}
}
@media screen and (min-width: 769px) {
}
.el-col {
margin-bottom: 10px;
text-align: center;
}
}
.btn {
width: 96px;
}
.no-border-btn {
border: none;
}
.fc-header-toolbar {
@media screen and (max-width: 768px) {
.fc-left > .fc-today-button,
.fc-right > .fc-listWeek-button {
display: none;
}
}
}
</script>
</style>

View File

@ -23,7 +23,7 @@ export default {
},
height: {
type: String,
default: "300px"
default: "480px"
}
},
data() {

View File

@ -1,116 +1,75 @@
<template>
<div :class="className" :style="{height:height,width:width}" />
<el-card :class="className" :style="{height:height,width:width}">
<div slot="header" class="clearfix">
<span>欢迎来到 {{deptName}} 管理系统</span>
</div>
<div class="text item">班级总数{{classTotal}}</div>
<div class="text item">教职工总数{{userTotal}}</div>
<div class="text item">幼儿总数0</div>
<div class="text item">今日园历活动数0</div>
<div class="text item">学习视频数0</div>
</el-card>
</template>
<script>
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from './mixins/resize'
const animationDuration = 3000
import { listUser, getUserProfile } from "@/api/system/user";
import { listClass } from "@/api/system/class";
export default {
mixins: [resize],
props: {
className: {
type: String,
default: 'chart'
default: "chart"
},
width: {
type: String,
default: '100%'
default: "100%"
},
height: {
type: String,
default: '300px'
default: "480px"
}
},
data() {
return {
chart: null
}
deptName: {},
classTotal: 0,
userTotal: 0
};
},
mounted() {
this.$nextTick(() => {
this.initChart()
})
},
beforeDestroy() {
if (!this.chart) {
return
}
this.chart.dispose()
this.chart = null
created() {
this.getDeptName();
this.getClassCount();
this.getUserCount();
},
methods: {
initChart() {
this.chart = echarts.init(this.$el, 'macarons')
this.chart.setOption({
tooltip: {
trigger: 'axis',
axisPointer: { //
type: 'shadow' // 线'line' | 'shadow'
}
},
radar: {
radius: '66%',
center: ['50%', '42%'],
splitNumber: 8,
splitArea: {
areaStyle: {
color: 'rgba(127,95,132,.3)',
opacity: 1,
shadowBlur: 45,
shadowColor: 'rgba(0,0,0,.5)',
shadowOffsetX: 0,
shadowOffsetY: 15
}
},
indicator: [
{ name: 'Sales', max: 10000 },
{ name: 'Administration', max: 20000 },
{ name: 'Information Techology', max: 20000 },
{ name: 'Customer Support', max: 20000 },
{ name: 'Development', max: 20000 },
{ name: 'Marketing', max: 20000 }
]
},
legend: {
left: 'center',
bottom: '10',
data: ['Allocated Budget', 'Expected Spending', 'Actual Spending']
},
series: [{
type: 'radar',
symbolSize: 0,
areaStyle: {
normal: {
shadowBlur: 13,
shadowColor: 'rgba(0,0,0,.2)',
shadowOffsetX: 0,
shadowOffsetY: 10,
opacity: 1
}
},
data: [
{
value: [5000, 7000, 12000, 11000, 15000, 14000],
name: 'Allocated Budget'
},
{
value: [4000, 9000, 15000, 15000, 13000, 11000],
name: 'Expected Spending'
},
{
value: [5500, 11000, 12000, 15000, 12000, 12000],
name: 'Actual Spending'
}
],
animationDuration: animationDuration
}]
})
getDeptName() {
getUserProfile().then(response => {
this.deptName = response.data.dept.deptName;
});
},
/** 查询班级信息列表 */
getClassCount() {
listClass(null).then(response => {
this.classTotal = response.total;
});
},
/** 查询用户列表 */
getUserCount() {
listUser(null).then(response => {
this.userTotal = response.total;
});
}
}
}
};
</script>
<style>
.text {
font-size: 14px;
}
.item {
margin-bottom: 18px;
}
</style>

View File

@ -477,7 +477,7 @@ export default {
getTreeselect() {
treeselect().then(response => {
this.deptOptions = response.data;
console.log(this.deptOptions);
//console.log(this.deptOptions);
});
},
//

View File

@ -44,7 +44,7 @@ public class ByDayFlowDetailController extends BaseController
{
startPage();
List<ByDayFlowDetail> list = byDayFlowDetailService.selectByDayFlowDetailList(byDayFlowDetail);
System.out.println("-------------------------------"+list);
//System.out.println("-------------------------------"+list);
return getDataTable(list);
}
@ -76,7 +76,7 @@ public class ByDayFlowDetailController extends BaseController
*/
@GetMapping("/treeselect")
public AjaxResult treeselect(ByDayFlowDetail byDayFlowDetail) {
List<ByDayFlowDetail> byDayFlowDetails = byDayFlowDetailService.selectByDayFlowDetailList(byDayFlowDetail);
List<ByDayFlowDetail> byDayFlowDetails = byDayFlowDetailService.selectByDayFlowDetailListTree(byDayFlowDetail);
return AjaxResult.success(byDayFlowDetailService.buildDayFlowDetailTreeSelect(byDayFlowDetails));
}

View File

@ -22,7 +22,7 @@ public class ByDayFlowDetail extends BaseEntity
private Long id;
/** 树状父类ID */
private Long parentid;
private Long parentId;
/** 树状子类 */
private List<ByDayFlowDetail> children = new ArrayList<ByDayFlowDetail>();
@ -155,16 +155,16 @@ public class ByDayFlowDetail extends BaseEntity
.append("updateUser", getUpdateUser())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("parentid", getParentid())
.append("parentid", getParentId())
.toString();
}
public Long getParentid() {
return parentid;
public Long getParentId() {
return parentId;
}
public void setParentid(Long parentid) {
this.parentid = parentid;
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public List<ByDayFlowDetail> getChildren() {

View File

@ -27,6 +27,14 @@ public interface ByDayFlowDetailMapper
*/
public List<ByDayFlowDetail> selectByDayFlowDetailList(ByDayFlowDetail byDayFlowDetail);
/**
* 查询一日流程树
*
* @param byDayFlowDetail 一日流程
* @return 一日流程树集合
*/
public List<ByDayFlowDetail> selectByDayFlowDetailListTree(ByDayFlowDetail byDayFlowDetail);
/**
* 根据ID查询所有子部门
*

View File

@ -29,6 +29,14 @@ public interface IByDayFlowDetailService
*/
public List<ByDayFlowDetail> selectByDayFlowDetailList(ByDayFlowDetail byDayFlowDetail);
/**
* 查询一日流程列表树
*
* @param byDayFlowDetail 一日流程
* @return 一日流程树集合
*/
public List<ByDayFlowDetail> selectByDayFlowDetailListTree(ByDayFlowDetail byDayFlowDetail);
/**
* 构建前端所需要树结构
*

View File

@ -50,6 +50,18 @@ public class ByDayFlowDetailServiceImpl implements IByDayFlowDetailService
return byDayFlowDetailMapper.selectByDayFlowDetailList(byDayFlowDetail);
}
/**
* 查询一日流程列表树
*
* @param byDayFlowDetail 一日流程
* @return 一日流程树集合
*/
@Override
public List<ByDayFlowDetail> selectByDayFlowDetailListTree(ByDayFlowDetail byDayFlowDetail)
{
return byDayFlowDetailMapper.selectByDayFlowDetailListTree(byDayFlowDetail);
}
/**
* 构建前端所需要树结构
*
@ -58,17 +70,19 @@ public class ByDayFlowDetailServiceImpl implements IByDayFlowDetailService
*/
@Override
public List<ByDayFlowDetail> buildDayFlowDetailTree(List<ByDayFlowDetail> byDayFlowDetails) {
System.out.println("start---");
List<ByDayFlowDetail> returnList = new ArrayList<ByDayFlowDetail>();
List<Long> tempList = new ArrayList<Long>();
for (ByDayFlowDetail byDayFlowDetail : byDayFlowDetails)
{
tempList.add(byDayFlowDetail.getParentid());
tempList.add(byDayFlowDetail.getId());
}
for (Iterator<ByDayFlowDetail> iterator = byDayFlowDetails.iterator(); iterator.hasNext();)
{
ByDayFlowDetail byDayFlowDetail = (ByDayFlowDetail) iterator.next();
System.out.println("test==="+!tempList.contains(byDayFlowDetail.getParentId()));
// 如果是顶级节点, 遍历该父节点的所有子节点
if (!tempList.contains(byDayFlowDetail.getParentid()))
if (!tempList.contains(byDayFlowDetail.getParentId()))
{
recursionFn(byDayFlowDetails, byDayFlowDetail);
returnList.add(byDayFlowDetail);
@ -127,8 +141,9 @@ public class ByDayFlowDetailServiceImpl implements IByDayFlowDetailService
while (it.hasNext())
{
ByDayFlowDetail n = (ByDayFlowDetail) it.next();
if (StringUtils.isNotNull(n.getParentid()) && n.getParentid().longValue() == t.getId().longValue())
if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getId().longValue())
{
//System.out.println("parentid="+n.getParentId().longValue()+"---"+t.getId().longValue());
tlist.add(n);
}
}

View File

@ -42,7 +42,7 @@ public class ByClassController extends BaseController {
/**
* 查询班级信息列表
*/
@PreAuthorize("@ss.hasPermi('system:class:list')")
@PreAuthorize("@ss.hasPermi('system:class:list')"+ "||@ss.hasPermi('system:school:list')")
@GetMapping("/list")
public TableDataInfo list(ByClass byClass) {
startPage();

View File

@ -65,7 +65,7 @@ public class ByTeacherJbxxController extends BaseController
/**
* 查询教师基本信息列表
*/
@PreAuthorize("@ss.hasPermi('system:teacher:list')")
@PreAuthorize("@ss.hasPermi('system:teacher:list')"+ "||@ss.hasPermi('system:user:list')")
@GetMapping("/listgroupxw")
public TableDataInfo listGroupXw(ByTeacherJbxx byTeacherJbxx)
{

View File

@ -7,6 +7,7 @@
<resultMap type="ByDayFlowDetail" id="ByDayFlowDetailResult">
<result property="id" column="id"/>
<result property="sortNumber" column="sort_number"/>
<result property="parentId" column="parent_id"/>
<result property="targetCount" column="target_count"/>
<result property="name" column="name"/>
<result property="content" column="content"/>
@ -23,6 +24,13 @@
from by_day_flow_detail
</sql>
<sql id="selectByDayFlowDetailsVo">
select * from(
select dict_value+9999 id,dict_label name,0 parent_id,dict_sort sort_number from sys_dict_data where dict_type='sys_dayflow_type'
union all
select id,name,flow_type+9999,sort_number from by_day_flow_detail ) t
</sql>
<select id="selectByDayFlowDetailList" parameterType="ByDayFlowDetail" resultMap="ByDayFlowDetailResult">
<include refid="selectByDayFlowDetailVo"/>
<where>
@ -37,6 +45,20 @@
</where>
</select>
<select id="selectByDayFlowDetailListTree" parameterType="ByDayFlowDetail" resultMap="ByDayFlowDetailResult">
<include refid="selectByDayFlowDetailsVo"/>
<where>
<if test="sortNumber != null ">and sort_number = #{sortNumber}</if>
<if test="targetCount != null ">and target_count = #{targetCount}</if>
<if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if>
<if test="content != null and content != ''">and content = #{content}</if>
<if test="note != null and note != ''">and note = #{note}</if>
<if test="flowType != null ">and flow_type = #{flowType}</if>
<if test="createUser != null ">and create_user = #{createUser}</if>
<if test="updateUser != null ">and update_user = #{updateUser}</if>
</where>
</select>
<select id="selectByDayFlowDetailById" parameterType="Long" resultMap="ByDayFlowDetailResult">
<include refid="selectByDayFlowDetailVo"/>
where id = #{id}