From e47e97b89d1f448912d2559ad6ff8ac24dd72957 Mon Sep 17 00:00:00 2001 From: paidaxing444 <12qwaszx> Date: Tue, 25 Aug 2020 17:34:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E9=A2=98=E6=95=B4=E5=90=88=E5=AD=A6?= =?UTF-8?q?=E6=9C=9F=E6=9C=88=E8=AE=A1=E5=88=92(=E6=98=8E=E7=BB=86)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/api/benyi/activity.js | 8 + ruoyi-ui/src/api/benyi/themeweekplan.js | 53 +++ ruoyi-ui/src/router/index.js | 17 +- .../src/views/benyi/thememonthplan/data.vue | 424 ++++++++++++++++++ .../src/views/benyi/thememonthplan/index.vue | 12 +- .../src/views/benyi/themeweekplan/index.vue | 0 .../controller/ByThemeActivityController.java | 10 + .../ByThemeMonthplanController.java | 3 +- .../ByThemeTermplanitemController.java | 2 + .../controller/ByThemeWeekplanController.java | 111 +++++ .../project/benyi/domain/ByThemeWeekplan.java | 147 ++++++ .../benyi/mapper/ByThemeActivityMapper.java | 8 + .../benyi/mapper/ByThemeWeekplanMapper.java | 61 +++ .../service/IByThemeActivityService.java | 8 + .../service/IByThemeWeekplanService.java | 61 +++ .../impl/ByThemeActivityServiceImpl.java | 11 + .../impl/ByThemeWeekplanServiceImpl.java | 89 ++++ .../mybatis/benyi/ByThemeActivityMapper.xml | 9 + .../mybatis/benyi/ByThemeMonthplanMapper.xml | 1 + .../mybatis/benyi/ByThemeWeekplanMapper.xml | 94 ++++ 20 files changed, 1124 insertions(+), 5 deletions(-) create mode 100644 ruoyi-ui/src/api/benyi/themeweekplan.js create mode 100644 ruoyi-ui/src/views/benyi/thememonthplan/data.vue create mode 100644 ruoyi-ui/src/views/benyi/themeweekplan/index.vue create mode 100644 ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeWeekplanController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeWeekplan.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByThemeWeekplanMapper.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByThemeWeekplanService.java create mode 100644 ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByThemeWeekplanServiceImpl.java create mode 100644 ruoyi/src/main/resources/mybatis/benyi/ByThemeWeekplanMapper.xml diff --git a/ruoyi-ui/src/api/benyi/activity.js b/ruoyi-ui/src/api/benyi/activity.js index d5b6ecea8..470aefebc 100644 --- a/ruoyi-ui/src/api/benyi/activity.js +++ b/ruoyi-ui/src/api/benyi/activity.js @@ -50,4 +50,12 @@ export function exportActivity(query) { method: 'get', params: query }) +} + +// 删除主题整合活动 +export function listActivityByThemeId(id) { + return request({ + url: '/benyi/activity/listbythemeid/' + id, + method: 'post' + }) } \ No newline at end of file diff --git a/ruoyi-ui/src/api/benyi/themeweekplan.js b/ruoyi-ui/src/api/benyi/themeweekplan.js new file mode 100644 index 000000000..3838723a4 --- /dev/null +++ b/ruoyi-ui/src/api/benyi/themeweekplan.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询主题整合周计划列表 +export function listWeekplan(query) { + return request({ + url: '/benyi/themeweekplan/list', + method: 'get', + params: query + }) +} + +// 查询主题整合周计划详细 +export function getWeekplan(id) { + return request({ + url: '/benyi/themeweekplan/' + id, + method: 'get' + }) +} + +// 新增主题整合周计划 +export function addWeekplan(data) { + return request({ + url: '/benyi/themeweekplan', + method: 'post', + data: data + }) +} + +// 修改主题整合周计划 +export function updateWeekplan(data) { + return request({ + url: '/benyi/themeweekplan', + method: 'put', + data: data + }) +} + +// 删除主题整合周计划 +export function delWeekplan(id) { + return request({ + url: '/benyi/themeweekplan/' + id, + method: 'delete' + }) +} + +// 导出主题整合周计划 +export function exportWeekplan(query) { + return request({ + url: '/benyi/themeweekplan/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js index 421e93ae1..e3b6a72a5 100644 --- a/ruoyi-ui/src/router/index.js +++ b/ruoyi-ui/src/router/index.js @@ -227,7 +227,22 @@ export const constantRoutes = [{ import('@/views/benyi/themetermplan/data'), name: 'Themetermplan1', meta: { - title: '主题整合学期计划', + title: '主题整合学期计划(明细)', + icon: '' + } + }] + }, + { + path: '/benyi_course/thememonthplan', + component: Layout, + hidden: true, + children: [{ + path: 'data/:id', + component: () => + import('@/views/benyi/thememonthplan/data'), + name: 'Thememonthplan1', + meta: { + title: '主题整合月计划(明细)', icon: '' } }] diff --git a/ruoyi-ui/src/views/benyi/thememonthplan/data.vue b/ruoyi-ui/src/views/benyi/thememonthplan/data.vue new file mode 100644 index 000000000..e56c78f32 --- /dev/null +++ b/ruoyi-ui/src/views/benyi/thememonthplan/data.vue @@ -0,0 +1,424 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> + <el-form-item label="月计划" prop="mpid"> + <el-select v-model="queryParams.mpid" size="small"> + <el-option + v-for="item in themeMonthPlanOptions" + :key="item.id" + :label="item.name" + :value="item.id" + /> + </el-select> + </el-form-item> + <el-form-item label="周次" prop="zc"> + <el-input + v-model="queryParams.zc" + 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:thememonthplan: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:thememonthplan: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:thememonthplan:remove']" + >删除</el-button> + </el-col> + </el-row> + + <el-table v-loading="loading" :data="weekplanList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <!-- <el-table-column label="编号" align="center" prop="id" /> --> + <el-table-column label="所属月计划" align="center" prop="mpid" :formatter="themeMonthPlanFormat"/> + <el-table-column label="周次" align="center" prop="zc" /> + <el-table-column label="开始时间" align="center" prop="starttime" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.starttime, '{y}-{m}-{d}') }}</span> + </template> + </el-table-column> + <el-table-column label="结束时间" align="center" prop="endtime" width="180"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.endtime, '{y}-{m}-{d}') }}</span> + </template> + </el-table-column> + <el-table-column label="活动" align="center" prop="activityid" /> + <el-table-column label="家长支持" align="center" prop="jzzc" /> + <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:thememonthplan:edit']" + >修改</el-button> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['benyi:thememonthplan: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-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="mpid"> + <el-select v-model="form.mpid" size="small" :disabled="true"> + <el-option + v-for="item in themeMonthPlanOptions" + :key="item.id" + :label="item.name" + :value="item.id" + /> + </el-select> + </el-form-item> + <el-form-item label="周次" prop="zc"> + <el-input-number v-model="form.zc" placeholder="请输入周次" /> + </el-form-item> + <el-form-item label="开始时间" prop="starttime"> + <el-date-picker + clearable + size="small" + style="width: 200px" + v-model="form.starttime" + type="date" + value-format="yyyy-MM-dd" + placeholder="选择开始时间" + ></el-date-picker> + </el-form-item> + <el-form-item label="结束时间" prop="endtime"> + <el-date-picker + clearable + size="small" + style="width: 200px" + v-model="form.endtime" + type="date" + value-format="yyyy-MM-dd" + placeholder="选择结束时间" + ></el-date-picker> + </el-form-item> + <el-form-item label="选择活动" prop="activityid"> + <el-checkbox-group + v-model="themeactivityList" + :max="max" + @change="getThemeActivityIdValue" + > + <el-checkbox + v-for="(item,i) in themeactivityOptions" + :label="item.id" + :key="i" + >{{item.name}}</el-checkbox> + </el-checkbox-group> + <el-input v-model="form.activityid" v-if="false" /> + </el-form-item> + <el-form-item label="家长支持" prop="jzzc"> + <el-input v-model="form.jzzc" type="textarea" 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 { + listWeekplan, + getWeekplan, + delWeekplan, + addWeekplan, + updateWeekplan, +} from "@/api/benyi/themeweekplan"; +import { listMonthplan, getMonthplan } from "@/api/benyi/thememonthplan"; +import { listActivityByThemeId } from "@/api/benyi/activity"; + +export default { + name: "Weekplan", + data() { + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 总条数 + total: 0, + // 主题整合周计划表格数据 + weekplanList: [], + //主题整合月计划列表 + themeMonthPlanOptions: [], + defaultThemeMonthType: "", + themeactivityList: [], + themeactivityOptions: [], + max: 5, + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + mpid: undefined, + zc: undefined, + starttime: undefined, + endtime: undefined, + activityid: undefined, + jzzc: undefined, + createuserid: undefined, + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + zc: [{ required: true, message: "周次不能为空", trigger: "blur" }], + starttime: [ + { required: true, message: "开始时间不能为空", trigger: "blur" }, + ], + endtime: [ + { required: true, message: "结束时间不能为空", trigger: "blur" }, + ], + activityid: [ + { required: true, message: "活动不能为空", trigger: "blur" }, + ], + }, + }; + }, + created() { + const thememonthplanid = this.$route.params && this.$route.params.id; + this.getThemeMonthPlan(thememonthplanid); + this.getThemeMonthPlanList(); + }, + methods: { + //获取选中的checkbox + getThemeActivityIdValue() { + //console.log(this.themeList); + var text = ";"; + this.themeactivityList.forEach(function (value, key, arr) { + //console.log(value); // 结果依次为1,2,3 + text = text + value + ";"; + //console.log(text); + }); + this.form.activityid = text; + }, + //主题活动 + getThemeActivityList(themeid) { + listActivityByThemeId(themeid).then((response) => { + //console.log(response.rows); + this.themeactivityOptions = response.rows; + }); + }, + // 字典翻译 + themeMonthPlanFormat(row, column) { + // return this.selectDictLabel(this.classOptions, row.classid); + var actions = []; + var datas = this.themeMonthPlanOptions; + Object.keys(datas).map((key) => { + if (datas[key].id == "" + row.mpid) { + actions.push(datas[key].name); + return false; + } + }); + return actions.join(""); + }, + //计划详情 + getThemeMonthPlan(thememonthplanid) { + getMonthplan(thememonthplanid).then((response) => { + this.queryParams.mpid = response.data.id; + this.defaultThemeMonthType = response.data.id; + console.log(response.data.themes); + var themeids = response.data.themes.split(";"); + var array = []; + //console.log(arr); + themeids.forEach(function (value, key, arr) { + //console.log(value); // 结果依次为1,2,3 + if (value != "") { + array.push(parseInt(value)); + } + }); + this.getThemeActivityList(array); + + this.getList(); + }); + }, + getThemeMonthPlanList() { + listMonthplan().then((response) => { + this.themeMonthPlanOptions = response.rows; + }); + }, + /** 查询主题整合周计划列表 */ + getList() { + this.loading = true; + listWeekplan(this.queryParams).then((response) => { + this.weekplanList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + id: undefined, + mpid: undefined, + zc: 0, + starttime: undefined, + endtime: undefined, + activityid: undefined, + jzzc: undefined, + createuserid: undefined, + createTime: undefined, + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.queryParams.mpid = this.defaultThemeMonthType; + 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 = "添加主题整合周计划"; + this.form.mpid = this.queryParams.mpid; + }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids; + getWeekplan(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) { + updateWeekplan(this.form).then((response) => { + if (response.code === 200) { + this.msgSuccess("修改成功"); + this.open = false; + this.getList(); + } + }); + } else { + addWeekplan(this.form).then((response) => { + if (response.code === 200) { + this.msgSuccess("新增成功"); + this.open = false; + this.getList(); + } + }); + } + } + }); + }, + /** 删除按钮操作 */ + handleDelete(row) { + const ids = row.id || this.ids; + this.$confirm( + '是否确认删除主题整合周计划编号为"' + ids + '"的数据项?', + "警告", + { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + } + ) + .then(function () { + return delWeekplan(ids); + }) + .then(() => { + this.getList(); + this.msgSuccess("删除成功"); + }) + .catch(function () {}); + }, + /** 导出按钮操作 */ + handleExport() { + const queryParams = this.queryParams; + this.$confirm("是否确认导出所有主题整合周计划数据项?", "警告", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(function () { + return exportWeekplan(queryParams); + }) + .then((response) => { + this.download(response.msg); + }) + .catch(function () {}); + }, + }, +}; +</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/benyi/thememonthplan/index.vue b/ruoyi-ui/src/views/benyi/thememonthplan/index.vue index e0dfad752..df76de8af 100644 --- a/ruoyi-ui/src/views/benyi/thememonthplan/index.vue +++ b/ruoyi-ui/src/views/benyi/thememonthplan/index.vue @@ -91,7 +91,13 @@ <el-table v-loading="loading" :data="monthplanList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="计划名称" align="center" prop="name" /> + <el-table-column label="计划名称" align="center" prop="name" :show-overflow-tooltip="true"> + <template slot-scope="scope"> + <router-link :to="'/benyi_course/thememonthplan/data/' + scope.row.id" class="link-type"> + <span>{{ scope.row.name }}</span> + </router-link> + </template> + </el-table-column> <el-table-column label="所属班级" align="center" prop="classid" :formatter="classFormat" /> <el-table-column label="学年学期" align="center" prop="xnxq" :formatter="xnxqFormat" /> <el-table-column label="计划月份" align="center" prop="month" width="180"> @@ -105,8 +111,8 @@ <div v-html="scope.row.wxkc"></div> </template> </el-table-column> - <el-table-column label="家长支持" align="center" prop="support" /> - <el-table-column label="备注" align="center" prop="remarks" /> + <!-- <el-table-column label="家长支持" align="center" prop="support" /> + <el-table-column label="备注" align="center" prop="remarks" /> --> <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> diff --git a/ruoyi-ui/src/views/benyi/themeweekplan/index.vue b/ruoyi-ui/src/views/benyi/themeweekplan/index.vue new file mode 100644 index 000000000..e69de29bb diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeActivityController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeActivityController.java index 381580e5a..db6fb0fc3 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeActivityController.java +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeActivityController.java @@ -113,4 +113,14 @@ public class ByThemeActivityController extends BaseController { public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(byThemeActivityService.deleteByThemeActivityByIds(ids)); } + + /** + * 查询主题整合活动列表 + */ + @PreAuthorize("@ss.hasPermi('benyi:theme:list')"+ "||@ss.hasPermi('benyi:thememonthplan:list')") + @PostMapping("/listbythemeid/{ids}") + public TableDataInfo listbythemeid(@PathVariable Long[] ids) { + List<ByThemeActivity> list = byThemeActivityService.selectByThemeActivityByThemeIds(ids); + return getDataTable(list); + } } diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeMonthplanController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeMonthplanController.java index 76b724bc9..0e9ea069f 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeMonthplanController.java +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeMonthplanController.java @@ -132,7 +132,8 @@ public class ByThemeMonthplanController extends BaseController { byThemeMonthplan.setClassid(classId); byThemeMonthplan.setThemes(strThemeIds);//主题id byThemeMonthplan.setCreateuserid(SecurityUtils.getLoginUser().getUser().getUserId()); - byThemeMonthplan.setName(byClassService.selectByClassById(classId).getBjmc() + "-主题整合月计划"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + byThemeMonthplan.setName(byClassService.selectByClassById(classId).getBjmc() + "-主题整合月计划" + "(" + sdf.format(byThemeMonthplan.getMonth()) + ")"); return toAjax(byThemeMonthplanService.insertByThemeMonthplan(byThemeMonthplan)); } else { return AjaxResult.error("当前用户非幼儿园,无法创建月计划"); diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeTermplanitemController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeTermplanitemController.java index c121410cb..fd6490383 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeTermplanitemController.java +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeTermplanitemController.java @@ -2,6 +2,7 @@ package com.ruoyi.project.benyi.controller; import java.util.List; +import com.ruoyi.common.utils.SecurityUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -72,6 +73,7 @@ public class ByThemeTermplanitemController extends BaseController { @Log(title = "主题整合学期计划明细", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ByThemeTermplanitem byThemeTermplanitem) { + byThemeTermplanitem.setCreateuserid(SecurityUtils.getLoginUser().getUser().getUserId()); return toAjax(byThemeTermplanitemService.insertByThemeTermplanitem(byThemeTermplanitem)); } diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeWeekplanController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeWeekplanController.java new file mode 100644 index 000000000..06c24e342 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByThemeWeekplanController.java @@ -0,0 +1,111 @@ +package com.ruoyi.project.benyi.controller; + +import java.util.List; + +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.project.common.SchoolCommon; +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.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.project.benyi.domain.ByThemeWeekplan; +import com.ruoyi.project.benyi.service.IByThemeWeekplanService; +import com.ruoyi.framework.web.controller.BaseController; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.framework.web.page.TableDataInfo; + +/** + * 主题整合周计划Controller + * + * @author tsbz + * @date 2020-08-25 + */ +@RestController +@RequestMapping("/benyi/themeweekplan") +public class ByThemeWeekplanController extends BaseController +{ + @Autowired + private IByThemeWeekplanService byThemeWeekplanService; + @Autowired + private SchoolCommon schoolCommon; + +/** + * 查询主题整合周计划列表 + */ +@PreAuthorize("@ss.hasPermi('benyi:thememonthplan:list')") +@GetMapping("/list") + public TableDataInfo list(ByThemeWeekplan byThemeWeekplan) + { + startPage(); + List<ByThemeWeekplan> list = byThemeWeekplanService.selectByThemeWeekplanList(byThemeWeekplan); + return getDataTable(list); + } + + /** + * 导出主题整合周计划列表 + */ + @PreAuthorize("@ss.hasPermi('benyi:thememonthplan:export')") + @Log(title = "主题整合周计划", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(ByThemeWeekplan byThemeWeekplan) + { + List<ByThemeWeekplan> list = byThemeWeekplanService.selectByThemeWeekplanList(byThemeWeekplan); + ExcelUtil<ByThemeWeekplan> util = new ExcelUtil<ByThemeWeekplan>(ByThemeWeekplan.class); + return util.exportExcel(list, "weekplan"); + } + + /** + * 获取主题整合周计划详细信息 + */ + @PreAuthorize("@ss.hasPermi('benyi:thememonthplan:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + return AjaxResult.success(byThemeWeekplanService.selectByThemeWeekplanById(id)); + } + + /** + * 新增主题整合周计划 + */ + @PreAuthorize("@ss.hasPermi('benyi:thememonthplan:add')") + @Log(title = "主题整合周计划", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ByThemeWeekplan byThemeWeekplan) + { + String uuid=schoolCommon.getUuid(); + byThemeWeekplan.setId(uuid); + byThemeWeekplan.setCreateuserid(SecurityUtils.getLoginUser().getUser().getUserId()); + return toAjax(byThemeWeekplanService.insertByThemeWeekplan(byThemeWeekplan)); + } + + /** + * 修改主题整合周计划 + */ + @PreAuthorize("@ss.hasPermi('benyi:thememonthplan:edit')") + @Log(title = "主题整合周计划", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ByThemeWeekplan byThemeWeekplan) + { + return toAjax(byThemeWeekplanService.updateByThemeWeekplan(byThemeWeekplan)); + } + + /** + * 删除主题整合周计划 + */ + @PreAuthorize("@ss.hasPermi('benyi:thememonthplan:remove')") + @Log(title = "主题整合周计划", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) + { + return toAjax(byThemeWeekplanService.deleteByThemeWeekplanByIds(ids)); + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeWeekplan.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeWeekplan.java new file mode 100644 index 000000000..8b42decd8 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeWeekplan.java @@ -0,0 +1,147 @@ +package com.ruoyi.project.benyi.domain; + +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.framework.web.domain.BaseEntity; + +/** + * 主题整合周计划对象 by_theme_weekplan + * + * @author tsbz + * @date 2020-08-25 + */ +public class ByThemeWeekplan extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 编号 + */ + private String id; + + /** + * 所属月计划 + */ + @Excel(name = "所属月计划") + private String mpid; + + /** + * 周次 + */ + @Excel(name = "周次") + private Long zc; + + /** + * 开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date starttime; + + /** + * 结束时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date endtime; + + /** + * 活动id + */ + @Excel(name = "活动id") + private String activityid; + + /** + * 家长支持 + */ + @Excel(name = "家长支持") + private String jzzc; + + /** + * 创建人 + */ + @Excel(name = "创建人") + private Long createuserid; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + + public void setMpid(String mpid) { + this.mpid = mpid; + } + + public String getMpid() { + return mpid; + } + + public void setZc(Long zc) { + this.zc = zc; + } + + public Long getZc() { + return zc; + } + + public void setStarttime(Date starttime) { + this.starttime = starttime; + } + + public Date getStarttime() { + return starttime; + } + + public void setEndtime(Date endtime) { + this.endtime = endtime; + } + + public Date getEndtime() { + return endtime; + } + + public void setActivityid(String activityid) { + this.activityid = activityid; + } + + public String getActivityid() { + return activityid; + } + + public void setJzzc(String jzzc) { + this.jzzc = jzzc; + } + + public String getJzzc() { + return jzzc; + } + + public void setCreateuserid(Long createuserid) { + this.createuserid = createuserid; + } + + public Long getCreateuserid() { + return createuserid; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("mpid", getMpid()) + .append("zc", getZc()) + .append("starttime", getStarttime()) + .append("endtime", getEndtime()) + .append("activityid", getActivityid()) + .append("jzzc", getJzzc()) + .append("createuserid", getCreateuserid()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByThemeActivityMapper.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByThemeActivityMapper.java index 8e3d50f3a..8408bb604 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByThemeActivityMapper.java +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByThemeActivityMapper.java @@ -58,4 +58,12 @@ public interface ByThemeActivityMapper { * @return 结果 */ public int deleteByThemeActivityByIds(Long[] ids); + + /** + * 查询主题整合活动列表 + * + * @param ids 主题整合活动 + * @return 主题整合活动集合 + */ + public List<ByThemeActivity> selectByThemeActivityByThemeIds(Long[] ids); } diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByThemeWeekplanMapper.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByThemeWeekplanMapper.java new file mode 100644 index 000000000..9a8b2944d --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByThemeWeekplanMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.project.benyi.mapper; + +import java.util.List; + +import com.ruoyi.project.benyi.domain.ByThemeWeekplan; + +/** + * 主题整合周计划Mapper接口 + * + * @author tsbz + * @date 2020-08-25 + */ +public interface ByThemeWeekplanMapper { + /** + * 查询主题整合周计划 + * + * @param id 主题整合周计划ID + * @return 主题整合周计划 + */ + public ByThemeWeekplan selectByThemeWeekplanById(String id); + + /** + * 查询主题整合周计划列表 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 主题整合周计划集合 + */ + public List<ByThemeWeekplan> selectByThemeWeekplanList(ByThemeWeekplan byThemeWeekplan); + + /** + * 新增主题整合周计划 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 结果 + */ + public int insertByThemeWeekplan(ByThemeWeekplan byThemeWeekplan); + + /** + * 修改主题整合周计划 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 结果 + */ + public int updateByThemeWeekplan(ByThemeWeekplan byThemeWeekplan); + + /** + * 删除主题整合周计划 + * + * @param id 主题整合周计划ID + * @return 结果 + */ + public int deleteByThemeWeekplanById(String id); + + /** + * 批量删除主题整合周计划 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteByThemeWeekplanByIds(String[] ids); +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByThemeActivityService.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByThemeActivityService.java index 422c1a76e..4a4cfcf4f 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByThemeActivityService.java +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByThemeActivityService.java @@ -58,4 +58,12 @@ public interface IByThemeActivityService { * @return 结果 */ public int deleteByThemeActivityById(Long id); + + /** + * 查询主题整合活动列表 + * + * @param ids 主题整合活动 + * @return 主题整合活动集合 + */ + public List<ByThemeActivity> selectByThemeActivityByThemeIds(Long[] ids); } diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByThemeWeekplanService.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByThemeWeekplanService.java new file mode 100644 index 000000000..32bc5128f --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByThemeWeekplanService.java @@ -0,0 +1,61 @@ +package com.ruoyi.project.benyi.service; + +import java.util.List; + +import com.ruoyi.project.benyi.domain.ByThemeWeekplan; + +/** + * 主题整合周计划Service接口 + * + * @author tsbz + * @date 2020-08-25 + */ +public interface IByThemeWeekplanService { + /** + * 查询主题整合周计划 + * + * @param id 主题整合周计划ID + * @return 主题整合周计划 + */ + public ByThemeWeekplan selectByThemeWeekplanById(String id); + + /** + * 查询主题整合周计划列表 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 主题整合周计划集合 + */ + public List<ByThemeWeekplan> selectByThemeWeekplanList(ByThemeWeekplan byThemeWeekplan); + + /** + * 新增主题整合周计划 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 结果 + */ + public int insertByThemeWeekplan(ByThemeWeekplan byThemeWeekplan); + + /** + * 修改主题整合周计划 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 结果 + */ + public int updateByThemeWeekplan(ByThemeWeekplan byThemeWeekplan); + + /** + * 批量删除主题整合周计划 + * + * @param ids 需要删除的主题整合周计划ID + * @return 结果 + */ + public int deleteByThemeWeekplanByIds(String[] ids); + + /** + * 删除主题整合周计划信息 + * + * @param id 主题整合周计划ID + * @return 结果 + */ + public int deleteByThemeWeekplanById(String id); +} diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByThemeActivityServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByThemeActivityServiceImpl.java index 5a4c82252..0491c01c4 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByThemeActivityServiceImpl.java +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByThemeActivityServiceImpl.java @@ -86,4 +86,15 @@ public class ByThemeActivityServiceImpl implements IByThemeActivityService { public int deleteByThemeActivityById(Long id) { return byThemeActivityMapper.deleteByThemeActivityById(id); } + + /** + * 查询主题整合活动列表 + * + * @param ids 主题整合活动 + * @return 主题整合活动集合 + */ + @Override + public List<ByThemeActivity> selectByThemeActivityByThemeIds(Long[] ids){ + return byThemeActivityMapper.selectByThemeActivityByThemeIds(ids); + } } diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByThemeWeekplanServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByThemeWeekplanServiceImpl.java new file mode 100644 index 000000000..f41816150 --- /dev/null +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByThemeWeekplanServiceImpl.java @@ -0,0 +1,89 @@ +package com.ruoyi.project.benyi.service.impl; + +import java.util.List; + +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.project.benyi.mapper.ByThemeWeekplanMapper; +import com.ruoyi.project.benyi.domain.ByThemeWeekplan; +import com.ruoyi.project.benyi.service.IByThemeWeekplanService; + +/** + * 主题整合周计划Service业务层处理 + * + * @author tsbz + * @date 2020-08-25 + */ +@Service +public class ByThemeWeekplanServiceImpl implements IByThemeWeekplanService { + @Autowired + private ByThemeWeekplanMapper byThemeWeekplanMapper; + + /** + * 查询主题整合周计划 + * + * @param id 主题整合周计划ID + * @return 主题整合周计划 + */ + @Override + public ByThemeWeekplan selectByThemeWeekplanById(String id) { + return byThemeWeekplanMapper.selectByThemeWeekplanById(id); + } + + /** + * 查询主题整合周计划列表 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 主题整合周计划 + */ + @Override + public List<ByThemeWeekplan> selectByThemeWeekplanList(ByThemeWeekplan byThemeWeekplan) { + return byThemeWeekplanMapper.selectByThemeWeekplanList(byThemeWeekplan); + } + + /** + * 新增主题整合周计划 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 结果 + */ + @Override + public int insertByThemeWeekplan(ByThemeWeekplan byThemeWeekplan) { + byThemeWeekplan.setCreateTime(DateUtils.getNowDate()); + return byThemeWeekplanMapper.insertByThemeWeekplan(byThemeWeekplan); + } + + /** + * 修改主题整合周计划 + * + * @param byThemeWeekplan 主题整合周计划 + * @return 结果 + */ + @Override + public int updateByThemeWeekplan(ByThemeWeekplan byThemeWeekplan) { + return byThemeWeekplanMapper.updateByThemeWeekplan(byThemeWeekplan); + } + + /** + * 批量删除主题整合周计划 + * + * @param ids 需要删除的主题整合周计划ID + * @return 结果 + */ + @Override + public int deleteByThemeWeekplanByIds(String[] ids) { + return byThemeWeekplanMapper.deleteByThemeWeekplanByIds(ids); + } + + /** + * 删除主题整合周计划信息 + * + * @param id 主题整合周计划ID + * @return 结果 + */ + @Override + public int deleteByThemeWeekplanById(String id) { + return byThemeWeekplanMapper.deleteByThemeWeekplanById(id); + } +} diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByThemeActivityMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByThemeActivityMapper.xml index f49c8037f..f3d6fe817 100644 --- a/ruoyi/src/main/resources/mybatis/benyi/ByThemeActivityMapper.xml +++ b/ruoyi/src/main/resources/mybatis/benyi/ByThemeActivityMapper.xml @@ -108,4 +108,13 @@ </foreach> </delete> + <select id="selectByThemeActivityByThemeIds" parameterType="String" resultMap="ByThemeActivityResult"> + <include refid="selectByThemeActivityVo"/> + where themeid in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + order by themeid,sort + </select> + </mapper> \ No newline at end of file diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByThemeMonthplanMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByThemeMonthplanMapper.xml index 9624c3549..b7c7f7a82 100644 --- a/ruoyi/src/main/resources/mybatis/benyi/ByThemeMonthplanMapper.xml +++ b/ruoyi/src/main/resources/mybatis/benyi/ByThemeMonthplanMapper.xml @@ -47,6 +47,7 @@ <if test="spyj != null and spyj != ''"> and spyj = #{spyj}</if> <if test="status != null and status != ''"> and status = #{status}</if> </where> + order by month desc </select> <select id="selectByThemeMonthplanById" parameterType="String" resultMap="ByThemeMonthplanResult"> diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByThemeWeekplanMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByThemeWeekplanMapper.xml new file mode 100644 index 000000000..a887f7b94 --- /dev/null +++ b/ruoyi/src/main/resources/mybatis/benyi/ByThemeWeekplanMapper.xml @@ -0,0 +1,94 @@ +<?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.project.benyi.mapper.ByThemeWeekplanMapper"> + + <resultMap type="ByThemeWeekplan" id="ByThemeWeekplanResult"> + <result property="id" column="id"/> + <result property="mpid" column="mpid"/> + <result property="zc" column="zc"/> + <result property="starttime" column="starttime"/> + <result property="endtime" column="endtime"/> + <result property="activityid" column="activityid"/> + <result property="jzzc" column="jzzc"/> + <result property="createuserid" column="createuserid"/> + <result property="createTime" column="create_time"/> + </resultMap> + + <sql id="selectByThemeWeekplanVo"> + select id, mpid, zc, starttime, endtime, activityid, jzzc, createuserid, create_time from by_theme_weekplan + </sql> + + <select id="selectByThemeWeekplanList" parameterType="ByThemeWeekplan" resultMap="ByThemeWeekplanResult"> + <include refid="selectByThemeWeekplanVo"/> + <where> + <if test="mpid != null and mpid != ''">and mpid = #{mpid}</if> + <if test="zc != null ">and zc = #{zc}</if> + <if test="starttime != null ">and starttime = #{starttime}</if> + <if test="endtime != null ">and endtime = #{endtime}</if> + <if test="activityid != null and activityid != ''">and activityid = #{activityid}</if> + <if test="jzzc != null and jzzc != ''">and jzzc = #{jzzc}</if> + <if test="createuserid != null ">and createuserid = #{createuserid}</if> + </where> + order by zc + </select> + + <select id="selectByThemeWeekplanById" parameterType="String" resultMap="ByThemeWeekplanResult"> + <include refid="selectByThemeWeekplanVo"/> + where id = #{id} + </select> + + <insert id="insertByThemeWeekplan" parameterType="ByThemeWeekplan"> + insert into by_theme_weekplan + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null and id != ''">id,</if> + <if test="mpid != null and mpid != ''">mpid,</if> + <if test="zc != null ">zc,</if> + <if test="starttime != null ">starttime,</if> + <if test="endtime != null ">endtime,</if> + <if test="activityid != null and activityid != ''">activityid,</if> + <if test="jzzc != null and jzzc != ''">jzzc,</if> + <if test="createuserid != null ">createuserid,</if> + <if test="createTime != null ">create_time,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null and id != ''">#{id},</if> + <if test="mpid != null and mpid != ''">#{mpid},</if> + <if test="zc != null ">#{zc},</if> + <if test="starttime != null ">#{starttime},</if> + <if test="endtime != null ">#{endtime},</if> + <if test="activityid != null and activityid != ''">#{activityid},</if> + <if test="jzzc != null and jzzc != ''">#{jzzc},</if> + <if test="createuserid != null ">#{createuserid},</if> + <if test="createTime != null ">#{createTime},</if> + </trim> + </insert> + + <update id="updateByThemeWeekplan" parameterType="ByThemeWeekplan"> + update by_theme_weekplan + <trim prefix="SET" suffixOverrides=","> + <if test="mpid != null and mpid != ''">mpid = #{mpid},</if> + <if test="zc != null ">zc = #{zc},</if> + <if test="starttime != null ">starttime = #{starttime},</if> + <if test="endtime != null ">endtime = #{endtime},</if> + <if test="activityid != null and activityid != ''">activityid = #{activityid},</if> + <if test="jzzc != null and jzzc != ''">jzzc = #{jzzc},</if> + <if test="createuserid != null ">createuserid = #{createuserid},</if> + <if test="createTime != null ">create_time = #{createTime},</if> + </trim> + where id = #{id} + </update> + + <delete id="deleteByThemeWeekplanById" parameterType="String"> + delete from by_theme_weekplan where id = #{id} + </delete> + + <delete id="deleteByThemeWeekplanByIds" parameterType="String"> + delete from by_theme_weekplan where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + +</mapper> \ No newline at end of file