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