Преглед на файлове

王子文 专项培训
数据库
1) 新增表:专项培训反馈(T_ST_ FEEDBACK)
2) 新增表:专项培训反馈(导师)(T_ST_ FEEDBACK_M)
3) 新增表:专项培训反馈-专项培训反馈(导师)关系(T_ST_ FEEDBACK_M_R)
4) 新增表:专项培训反馈-专项培训计划关联(T_ST_ FEEDBACK_P_R)
我的培训
1) API 修改:根据STAFF_ID查询培训计划列表 - 对未通过申请的培训计划进行过滤

wangggziwen преди 3 години
родител
ревизия
fc0e66bd7b
променени са 36 файла, в които са добавени 1953 реда и са изтрити 76 реда
  1. 103 0
      master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackController.java
  2. 103 0
      master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackMController.java
  3. 103 0
      master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackMRController.java
  4. 103 0
      master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackPRController.java
  5. 31 8
      master/src/main/java/com/ruoyi/project/training/spec/controller/TStPlanController.java
  6. 125 0
      master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedback.java
  7. 65 0
      master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedbackM.java
  8. 65 0
      master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedbackMR.java
  9. 65 0
      master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedbackPR.java
  10. 0 3
      master/src/main/java/com/ruoyi/project/training/spec/domain/TStPlan.java
  11. 63 0
      master/src/main/java/com/ruoyi/project/training/spec/mapper/TStFeedbackMMapper.java
  12. 63 0
      master/src/main/java/com/ruoyi/project/training/spec/mapper/TStFeedbackMRMapper.java
  13. 63 0
      master/src/main/java/com/ruoyi/project/training/spec/mapper/TStFeedbackMapper.java
  14. 63 0
      master/src/main/java/com/ruoyi/project/training/spec/mapper/TStFeedbackPRMapper.java
  15. 1 1
      master/src/main/java/com/ruoyi/project/training/spec/mapper/TStSuccessorMapper.java
  16. 61 0
      master/src/main/java/com/ruoyi/project/training/spec/service/ITStFeedbackMRService.java
  17. 61 0
      master/src/main/java/com/ruoyi/project/training/spec/service/ITStFeedbackMService.java
  18. 61 0
      master/src/main/java/com/ruoyi/project/training/spec/service/ITStFeedbackPRService.java
  19. 61 0
      master/src/main/java/com/ruoyi/project/training/spec/service/ITStFeedbackService.java
  20. 0 10
      master/src/main/java/com/ruoyi/project/training/spec/service/ITStPlanService.java
  21. 1 1
      master/src/main/java/com/ruoyi/project/training/spec/service/ITStSuccessorService.java
  22. 93 0
      master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStFeedbackMRServiceImpl.java
  23. 93 0
      master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStFeedbackMServiceImpl.java
  24. 93 0
      master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStFeedbackPRServiceImpl.java
  25. 93 0
      master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStFeedbackServiceImpl.java
  26. 0 13
      master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStPlanServiceImpl.java
  27. 2 2
      master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStSuccessorServiceImpl.java
  28. 69 0
      master/src/main/resources/mybatis/training/spec/TStFeedbackMMapper.xml
  29. 69 0
      master/src/main/resources/mybatis/training/spec/TStFeedbackMRMapper.xml
  30. 89 0
      master/src/main/resources/mybatis/training/spec/TStFeedbackMapper.xml
  31. 69 0
      master/src/main/resources/mybatis/training/spec/TStFeedbackPRMapper.xml
  32. 1 21
      master/src/main/resources/mybatis/training/spec/TStPlanMapper.xml
  33. 1 2
      master/src/main/resources/mybatis/training/spec/TStSuccessorMapper.xml
  34. 11 2
      ui/src/api/training/spec/plan.js
  35. 3 3
      ui/src/views/training/spec/myplan/index.vue
  36. 6 10
      ui/src/views/training/spec/plan/index.vue

+ 103 - 0
master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackController.java

@@ -0,0 +1,103 @@
+package com.ruoyi.project.training.spec.controller;
+
+import java.util.List;
+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.training.spec.domain.TStFeedback;
+import com.ruoyi.project.training.spec.service.ITStFeedbackService;
+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 ruoyi
+ * @date 2022-04-24
+ */
+@RestController
+@RequestMapping("/spec/feedback/successor")
+public class TStFeedbackController extends BaseController
+{
+    @Autowired
+    private ITStFeedbackService tStFeedbackService;
+
+    /**
+     * 查询专项培训反馈列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:feedback:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TStFeedback tStFeedback)
+    {
+        startPage();
+        List<TStFeedback> list = tStFeedbackService.selectTStFeedbackList(tStFeedback);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出专项培训反馈列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:feedback:export')")
+    @Log(title = "专项培训反馈", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TStFeedback tStFeedback)
+    {
+        List<TStFeedback> list = tStFeedbackService.selectTStFeedbackList(tStFeedback);
+        ExcelUtil<TStFeedback> util = new ExcelUtil<TStFeedback>(TStFeedback.class);
+        return util.exportExcel(list, "feedback");
+    }
+
+    /**
+     * 获取专项培训反馈详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('spec:feedback:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tStFeedbackService.selectTStFeedbackById(id));
+    }
+
+    /**
+     * 新增专项培训反馈
+     */
+    @PreAuthorize("@ss.hasPermi('spec:feedback:add')")
+    @Log(title = "专项培训反馈", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TStFeedback tStFeedback)
+    {
+        return toAjax(tStFeedbackService.insertTStFeedback(tStFeedback));
+    }
+
+    /**
+     * 修改专项培训反馈
+     */
+    @PreAuthorize("@ss.hasPermi('spec:feedback:edit')")
+    @Log(title = "专项培训反馈", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TStFeedback tStFeedback)
+    {
+        return toAjax(tStFeedbackService.updateTStFeedback(tStFeedback));
+    }
+
+    /**
+     * 删除专项培训反馈
+     */
+    @PreAuthorize("@ss.hasPermi('spec:feedback:remove')")
+    @Log(title = "专项培训反馈", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tStFeedbackService.deleteTStFeedbackByIds(ids));
+    }
+}

+ 103 - 0
master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackMController.java

@@ -0,0 +1,103 @@
+package com.ruoyi.project.training.spec.controller;
+
+import java.util.List;
+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.training.spec.domain.TStFeedbackM;
+import com.ruoyi.project.training.spec.service.ITStFeedbackMService;
+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 ruoyi
+ * @date 2022-04-24
+ */
+@RestController
+@RequestMapping("/spec/feedback/mentor")
+public class TStFeedbackMController extends BaseController
+{
+    @Autowired
+    private ITStFeedbackMService tStFeedbackMService;
+
+    /**
+     * 查询专项培训反馈(导师)列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:m:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TStFeedbackM tStFeedbackM)
+    {
+        startPage();
+        List<TStFeedbackM> list = tStFeedbackMService.selectTStFeedbackMList(tStFeedbackM);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出专项培训反馈(导师)列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:m:export')")
+    @Log(title = "专项培训反馈(导师)", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TStFeedbackM tStFeedbackM)
+    {
+        List<TStFeedbackM> list = tStFeedbackMService.selectTStFeedbackMList(tStFeedbackM);
+        ExcelUtil<TStFeedbackM> util = new ExcelUtil<TStFeedbackM>(TStFeedbackM.class);
+        return util.exportExcel(list, "m");
+    }
+
+    /**
+     * 获取专项培训反馈(导师)详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('spec:m:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tStFeedbackMService.selectTStFeedbackMById(id));
+    }
+
+    /**
+     * 新增专项培训反馈(导师)
+     */
+    @PreAuthorize("@ss.hasPermi('spec:m:add')")
+    @Log(title = "专项培训反馈(导师)", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TStFeedbackM tStFeedbackM)
+    {
+        return toAjax(tStFeedbackMService.insertTStFeedbackM(tStFeedbackM));
+    }
+
+    /**
+     * 修改专项培训反馈(导师)
+     */
+    @PreAuthorize("@ss.hasPermi('spec:m:edit')")
+    @Log(title = "专项培训反馈(导师)", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TStFeedbackM tStFeedbackM)
+    {
+        return toAjax(tStFeedbackMService.updateTStFeedbackM(tStFeedbackM));
+    }
+
+    /**
+     * 删除专项培训反馈(导师)
+     */
+    @PreAuthorize("@ss.hasPermi('spec:m:remove')")
+    @Log(title = "专项培训反馈(导师)", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tStFeedbackMService.deleteTStFeedbackMByIds(ids));
+    }
+}

+ 103 - 0
master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackMRController.java

@@ -0,0 +1,103 @@
+package com.ruoyi.project.training.spec.controller;
+
+import java.util.List;
+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.training.spec.domain.TStFeedbackMR;
+import com.ruoyi.project.training.spec.service.ITStFeedbackMRService;
+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 ruoyi
+ * @date 2022-04-24
+ */
+@RestController
+@RequestMapping("/spec/mr")
+public class TStFeedbackMRController extends BaseController
+{
+    @Autowired
+    private ITStFeedbackMRService tStFeedbackMRService;
+
+    /**
+     * 查询专项培训反馈-导师关系列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TStFeedbackMR tStFeedbackMR)
+    {
+        startPage();
+        List<TStFeedbackMR> list = tStFeedbackMRService.selectTStFeedbackMRList(tStFeedbackMR);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出专项培训反馈-导师关系列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:export')")
+    @Log(title = "专项培训反馈-导师关系", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TStFeedbackMR tStFeedbackMR)
+    {
+        List<TStFeedbackMR> list = tStFeedbackMRService.selectTStFeedbackMRList(tStFeedbackMR);
+        ExcelUtil<TStFeedbackMR> util = new ExcelUtil<TStFeedbackMR>(TStFeedbackMR.class);
+        return util.exportExcel(list, "r");
+    }
+
+    /**
+     * 获取专项培训反馈-导师关系详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tStFeedbackMRService.selectTStFeedbackMRById(id));
+    }
+
+    /**
+     * 新增专项培训反馈-导师关系
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:add')")
+    @Log(title = "专项培训反馈-导师关系", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TStFeedbackMR tStFeedbackMR)
+    {
+        return toAjax(tStFeedbackMRService.insertTStFeedbackMR(tStFeedbackMR));
+    }
+
+    /**
+     * 修改专项培训反馈-导师关系
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:edit')")
+    @Log(title = "专项培训反馈-导师关系", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TStFeedbackMR tStFeedbackMR)
+    {
+        return toAjax(tStFeedbackMRService.updateTStFeedbackMR(tStFeedbackMR));
+    }
+
+    /**
+     * 删除专项培训反馈-导师关系
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:remove')")
+    @Log(title = "专项培训反馈-导师关系", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tStFeedbackMRService.deleteTStFeedbackMRByIds(ids));
+    }
+}

+ 103 - 0
master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackPRController.java

@@ -0,0 +1,103 @@
+package com.ruoyi.project.training.spec.controller;
+
+import java.util.List;
+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.training.spec.domain.TStFeedbackPR;
+import com.ruoyi.project.training.spec.service.ITStFeedbackPRService;
+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 ruoyi
+ * @date 2022-04-24
+ */
+@RestController
+@RequestMapping("/spec/pr")
+public class TStFeedbackPRController extends BaseController
+{
+    @Autowired
+    private ITStFeedbackPRService tStFeedbackPRService;
+
+    /**
+     * 查询专项培训反馈-专项培训计划关联列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TStFeedbackPR tStFeedbackPR)
+    {
+        startPage();
+        List<TStFeedbackPR> list = tStFeedbackPRService.selectTStFeedbackPRList(tStFeedbackPR);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出专项培训反馈-专项培训计划关联列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:export')")
+    @Log(title = "专项培训反馈-专项培训计划关联", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TStFeedbackPR tStFeedbackPR)
+    {
+        List<TStFeedbackPR> list = tStFeedbackPRService.selectTStFeedbackPRList(tStFeedbackPR);
+        ExcelUtil<TStFeedbackPR> util = new ExcelUtil<TStFeedbackPR>(TStFeedbackPR.class);
+        return util.exportExcel(list, "r");
+    }
+
+    /**
+     * 获取专项培训反馈-专项培训计划关联详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tStFeedbackPRService.selectTStFeedbackPRById(id));
+    }
+
+    /**
+     * 新增专项培训反馈-专项培训计划关联
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:add')")
+    @Log(title = "专项培训反馈-专项培训计划关联", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TStFeedbackPR tStFeedbackPR)
+    {
+        return toAjax(tStFeedbackPRService.insertTStFeedbackPR(tStFeedbackPR));
+    }
+
+    /**
+     * 修改专项培训反馈-专项培训计划关联
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:edit')")
+    @Log(title = "专项培训反馈-专项培训计划关联", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TStFeedbackPR tStFeedbackPR)
+    {
+        return toAjax(tStFeedbackPRService.updateTStFeedbackPR(tStFeedbackPR));
+    }
+
+    /**
+     * 删除专项培训反馈-专项培训计划关联
+     */
+    @PreAuthorize("@ss.hasPermi('spec:r:remove')")
+    @Log(title = "专项培训反馈-专项培训计划关联", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tStFeedbackPRService.deleteTStFeedbackPRByIds(ids));
+    }
+}

+ 31 - 8
master/src/main/java/com/ruoyi/project/training/spec/controller/TStPlanController.java

@@ -1,7 +1,7 @@
 package com.ruoyi.project.training.spec.controller;
 
-import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.service.ISysUserService;
@@ -62,25 +62,52 @@ public class TStPlanController extends BaseController
         String staffId = sysUser.getStaffId();
         tStPlan.setStaffId(staffId);
         startPage();
-        List<TStPlan> list = tStPlanService.selectTStPlanListByStaffId(tStPlan);
+        List<TStPlan> list = tStPlanService.selectTStPlanList(tStPlan);
+        // 过滤掉申请状态为“未申请”或未通过的数据
+        List<TStPlan> approvedList = list
+                .stream()
+                .filter( (TStPlan plan) -> plan.getApproveStatus() == 1 )
+                .collect(Collectors.toList());
+        return getDataTable(approvedList);
+    }
+
+    /**
+     * 培训计划页面查询
+     * 根据MENTOR_STAFF_ID查询培训计划列表
+     *
+     * @autor 王子文
+     * @date 2022年4月20日
+     * @param tStPlan 培训计划对象
+     * @return 培训计划列表
+     */
+    @PreAuthorize("@ss.hasPermi('spec:plan:list')")
+    @GetMapping("/listByMentorId")
+    public TableDataInfo listByMentorId(TStPlan tStPlan) {
+        Long userId = getUserId();
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        String staffId = sysUser.getStaffId();
+        tStPlan.setMentorStaffId(staffId);
+        startPage();
+        List<TStPlan> list = tStPlanService.selectTStPlanList(tStPlan);
         return getDataTable(list);
     }
 
     /**
      * 根据导师ID查询学员列表
+     *
      * @autor 王子文
      * @date 2022年4月18日
      * @param tStSuccessor 继任者清单对象
      * @return 学员列表
      */
     @PreAuthorize("@ss.hasPermi('spec:plan:list')")
-    @GetMapping("/getSuccessorListByMentorId")
+    @GetMapping("/listSuccessorsByMentorId")
     public AjaxResult getSuccessorListByMentorId(TStSuccessor tStSuccessor) {
         Long userId = getUserId();
         SysUser sysUser = sysUserService.selectUserById(userId);
         String staffId = sysUser.getStaffId();
         tStSuccessor.setMentorStaffId(staffId);
-        List<TStSuccessor> tStSuccessors = tStSuccessorService.selectTStSuccessorListByMentorId(tStSuccessor);
+        List<TStSuccessor> tStSuccessors = tStSuccessorService.listSuccessorsByMentorId(tStSuccessor);
         return AjaxResult.success(tStSuccessors);
     }
 
@@ -91,10 +118,6 @@ public class TStPlanController extends BaseController
     @GetMapping("/list")
     public TableDataInfo list(TStPlan tStPlan)
     {
-        Long userId = getUserId();
-        SysUser sysUser = sysUserService.selectUserById(userId);
-        String staffId = sysUser.getStaffId();
-        tStPlan.setMentorStaffId(staffId);
         startPage();
         List<TStPlan> list = tStPlanService.selectTStPlanList(tStPlan);
         return getDataTable(list);

+ 125 - 0
master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedback.java

@@ -0,0 +1,125 @@
+package com.ruoyi.project.training.spec.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 专项培训反馈对象 t_st_feedback
+ *
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public class TStFeedback extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 学员反馈 */
+    @Excel(name = "学员反馈")
+    private String successorComment;
+
+    /** 修改人编号 */
+    @Excel(name = "修改人编号")
+    private String updaterCode;
+
+    /** 修改日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "修改日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date updatedate;
+
+    /** 创建人编号 */
+    @Excel(name = "创建人编号")
+    private String createrCode;
+
+    /** 创建日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date createdate;
+
+    /** 反馈类型 1表示月度 2表示季度 */
+    @Excel(name = "反馈类型 1表示月度 2表示季度")
+    private Long feecbackType;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setSuccessorComment(String successorComment)
+    {
+        this.successorComment = successorComment;
+    }
+
+    public String getSuccessorComment()
+    {
+        return successorComment;
+    }
+    public void setUpdaterCode(String updaterCode)
+    {
+        this.updaterCode = updaterCode;
+    }
+
+    public String getUpdaterCode()
+    {
+        return updaterCode;
+    }
+    public void setUpdatedate(Date updatedate)
+    {
+        this.updatedate = updatedate;
+    }
+
+    public Date getUpdatedate()
+    {
+        return updatedate;
+    }
+    public void setCreaterCode(String createrCode)
+    {
+        this.createrCode = createrCode;
+    }
+
+    public String getCreaterCode()
+    {
+        return createrCode;
+    }
+    public void setCreatedate(Date createdate)
+    {
+        this.createdate = createdate;
+    }
+
+    public Date getCreatedate()
+    {
+        return createdate;
+    }
+    public void setFeecbackType(Long feecbackType)
+    {
+        this.feecbackType = feecbackType;
+    }
+
+    public Long getFeecbackType()
+    {
+        return feecbackType;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("successorComment", getSuccessorComment())
+            .append("updaterCode", getUpdaterCode())
+            .append("updatedate", getUpdatedate())
+            .append("createrCode", getCreaterCode())
+            .append("createdate", getCreatedate())
+            .append("feecbackType", getFeecbackType())
+            .toString();
+    }
+}

+ 65 - 0
master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedbackM.java

@@ -0,0 +1,65 @@
+package com.ruoyi.project.training.spec.domain;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 专项培训反馈(导师)对象 t_st_feedback_m
+ *
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public class TStFeedbackM extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 专项培训反馈编号 */
+    @Excel(name = "专项培训反馈编号")
+    private Long monthlyFeedbackId;
+
+    /** 导师综合评价 */
+    @Excel(name = "导师综合评价")
+    private String overallComment;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setMonthlyFeedbackId(Long monthlyFeedbackId)
+    {
+        this.monthlyFeedbackId = monthlyFeedbackId;
+    }
+
+    public Long getMonthlyFeedbackId()
+    {
+        return monthlyFeedbackId;
+    }
+    public void setOverallComment(String overallComment)
+    {
+        this.overallComment = overallComment;
+    }
+
+    public String getOverallComment()
+    {
+        return overallComment;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("monthlyFeedbackId", getMonthlyFeedbackId())
+            .append("overallComment", getOverallComment())
+            .toString();
+    }
+}

+ 65 - 0
master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedbackMR.java

@@ -0,0 +1,65 @@
+package com.ruoyi.project.training.spec.domain;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 专项培训反馈-导师关系对象 t_st_feedback_m_r
+ *
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public class TStFeedbackMR extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 专项培训反馈编号 */
+    @Excel(name = "专项培训反馈编号")
+    private Long monthlyFeedbackId;
+
+    /** 专项培训反馈(导师)编号 */
+    @Excel(name = "专项培训反馈", readConverterExp = "导=师")
+    private Long monthlyFeedbackMId;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setMonthlyFeedbackId(Long monthlyFeedbackId)
+    {
+        this.monthlyFeedbackId = monthlyFeedbackId;
+    }
+
+    public Long getMonthlyFeedbackId()
+    {
+        return monthlyFeedbackId;
+    }
+    public void setMonthlyFeedbackMId(Long monthlyFeedbackMId)
+    {
+        this.monthlyFeedbackMId = monthlyFeedbackMId;
+    }
+
+    public Long getMonthlyFeedbackMId()
+    {
+        return monthlyFeedbackMId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("monthlyFeedbackId", getMonthlyFeedbackId())
+            .append("monthlyFeedbackMId", getMonthlyFeedbackMId())
+            .toString();
+    }
+}

+ 65 - 0
master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedbackPR.java

@@ -0,0 +1,65 @@
+package com.ruoyi.project.training.spec.domain;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 专项培训反馈-专项培训计划关联对象 t_st_feedback_p_r
+ *
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public class TStFeedbackPR extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** $column.columnComment */
+    private Long id;
+
+    /** 专项培训反馈编号 */
+    @Excel(name = "专项培训反馈编号")
+    private Long monthlyFeedbackId;
+
+    /** 专项培训计划编号 */
+    @Excel(name = "专项培训计划编号")
+    private Long planId;
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setMonthlyFeedbackId(Long monthlyFeedbackId)
+    {
+        this.monthlyFeedbackId = monthlyFeedbackId;
+    }
+
+    public Long getMonthlyFeedbackId()
+    {
+        return monthlyFeedbackId;
+    }
+    public void setPlanId(Long planId)
+    {
+        this.planId = planId;
+    }
+
+    public Long getPlanId()
+    {
+        return planId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("monthlyFeedbackId", getMonthlyFeedbackId())
+            .append("planId", getPlanId())
+            .toString();
+    }
+}

+ 0 - 3
master/src/main/java/com/ruoyi/project/training/spec/domain/TStPlan.java

@@ -29,11 +29,9 @@ public class TStPlan extends BaseEntity
     @Excel(name = "培训员工姓名")
     private String staffName;
 
-    // 王子文 2022年4月21日 添加
     /** 导师编号 */
     private String mentorStaffId;
 
-    // 王子文 2022年4月21日 添加
     /** 导师姓名 */
     private String mentorStaffName;
 
@@ -73,7 +71,6 @@ public class TStPlan extends BaseEntity
     @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd")
     private Date endDate;
 
-    // 王子文 2022年4月22日 添加
     /** 实际完成培训日期 */
     @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
     @Excel(name = "实际完成培训日期", width = 30, dateFormat = "yyyy-MM-dd")

+ 63 - 0
master/src/main/java/com/ruoyi/project/training/spec/mapper/TStFeedbackMMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.training.spec.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.training.spec.domain.TStFeedbackM;
+
+/**
+ * 专项培训反馈(导师)Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public interface TStFeedbackMMapper 
+{
+    /**
+     * 查询专项培训反馈(导师)
+     * 
+     * @param id 专项培训反馈(导师)ID
+     * @return 专项培训反馈(导师)
+     */
+    public TStFeedbackM selectTStFeedbackMById(Long id);
+
+    /**
+     * 查询专项培训反馈(导师)列表
+     * 
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 专项培训反馈(导师)集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TStFeedbackM> selectTStFeedbackMList(TStFeedbackM tStFeedbackM);
+
+    /**
+     * 新增专项培训反馈(导师)
+     * 
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 结果
+     */
+    public int insertTStFeedbackM(TStFeedbackM tStFeedbackM);
+
+    /**
+     * 修改专项培训反馈(导师)
+     * 
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 结果
+     */
+    public int updateTStFeedbackM(TStFeedbackM tStFeedbackM);
+
+    /**
+     * 删除专项培训反馈(导师)
+     * 
+     * @param id 专项培训反馈(导师)ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackMById(Long id);
+
+    /**
+     * 批量删除专项培训反馈(导师)
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackMByIds(Long[] ids);
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/training/spec/mapper/TStFeedbackMRMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.training.spec.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.training.spec.domain.TStFeedbackMR;
+
+/**
+ * 专项培训反馈-导师关系Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public interface TStFeedbackMRMapper 
+{
+    /**
+     * 查询专项培训反馈-导师关系
+     * 
+     * @param id 专项培训反馈-导师关系ID
+     * @return 专项培训反馈-导师关系
+     */
+    public TStFeedbackMR selectTStFeedbackMRById(Long id);
+
+    /**
+     * 查询专项培训反馈-导师关系列表
+     * 
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 专项培训反馈-导师关系集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TStFeedbackMR> selectTStFeedbackMRList(TStFeedbackMR tStFeedbackMR);
+
+    /**
+     * 新增专项培训反馈-导师关系
+     * 
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 结果
+     */
+    public int insertTStFeedbackMR(TStFeedbackMR tStFeedbackMR);
+
+    /**
+     * 修改专项培训反馈-导师关系
+     * 
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 结果
+     */
+    public int updateTStFeedbackMR(TStFeedbackMR tStFeedbackMR);
+
+    /**
+     * 删除专项培训反馈-导师关系
+     * 
+     * @param id 专项培训反馈-导师关系ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackMRById(Long id);
+
+    /**
+     * 批量删除专项培训反馈-导师关系
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackMRByIds(Long[] ids);
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/training/spec/mapper/TStFeedbackMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.training.spec.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.training.spec.domain.TStFeedback;
+
+/**
+ * 专项培训反馈Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public interface TStFeedbackMapper 
+{
+    /**
+     * 查询专项培训反馈
+     * 
+     * @param id 专项培训反馈ID
+     * @return 专项培训反馈
+     */
+    public TStFeedback selectTStFeedbackById(Long id);
+
+    /**
+     * 查询专项培训反馈列表
+     * 
+     * @param tStFeedback 专项培训反馈
+     * @return 专项培训反馈集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TStFeedback> selectTStFeedbackList(TStFeedback tStFeedback);
+
+    /**
+     * 新增专项培训反馈
+     * 
+     * @param tStFeedback 专项培训反馈
+     * @return 结果
+     */
+    public int insertTStFeedback(TStFeedback tStFeedback);
+
+    /**
+     * 修改专项培训反馈
+     * 
+     * @param tStFeedback 专项培训反馈
+     * @return 结果
+     */
+    public int updateTStFeedback(TStFeedback tStFeedback);
+
+    /**
+     * 删除专项培训反馈
+     * 
+     * @param id 专项培训反馈ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackById(Long id);
+
+    /**
+     * 批量删除专项培训反馈
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackByIds(Long[] ids);
+}

+ 63 - 0
master/src/main/java/com/ruoyi/project/training/spec/mapper/TStFeedbackPRMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.training.spec.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.training.spec.domain.TStFeedbackPR;
+
+/**
+ * 专项培训反馈-专项培训计划关联Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public interface TStFeedbackPRMapper 
+{
+    /**
+     * 查询专项培训反馈-专项培训计划关联
+     * 
+     * @param id 专项培训反馈-专项培训计划关联ID
+     * @return 专项培训反馈-专项培训计划关联
+     */
+    public TStFeedbackPR selectTStFeedbackPRById(Long id);
+
+    /**
+     * 查询专项培训反馈-专项培训计划关联列表
+     * 
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 专项培训反馈-专项培训计划关联集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TStFeedbackPR> selectTStFeedbackPRList(TStFeedbackPR tStFeedbackPR);
+
+    /**
+     * 新增专项培训反馈-专项培训计划关联
+     * 
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 结果
+     */
+    public int insertTStFeedbackPR(TStFeedbackPR tStFeedbackPR);
+
+    /**
+     * 修改专项培训反馈-专项培训计划关联
+     * 
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 结果
+     */
+    public int updateTStFeedbackPR(TStFeedbackPR tStFeedbackPR);
+
+    /**
+     * 删除专项培训反馈-专项培训计划关联
+     * 
+     * @param id 专项培训反馈-专项培训计划关联ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackPRById(Long id);
+
+    /**
+     * 批量删除专项培训反馈-专项培训计划关联
+     * 
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackPRByIds(Long[] ids);
+}

+ 1 - 1
master/src/main/java/com/ruoyi/project/training/spec/mapper/TStSuccessorMapper.java

@@ -20,7 +20,7 @@ public interface TStSuccessorMapper
      * @param tStSuccessor 继任者清单对象
      * @return 继任者清单
      */
-    public List<TStSuccessor> selectTStSuccessorListByMentorId(TStSuccessor tStSuccessor);
+    public List<TStSuccessor> selectSuccessorListByMentorId(TStSuccessor tStSuccessor);
 
     /**
      * 查询继任者清单

+ 61 - 0
master/src/main/java/com/ruoyi/project/training/spec/service/ITStFeedbackMRService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.training.spec.service;
+
+import java.util.List;
+import com.ruoyi.project.training.spec.domain.TStFeedbackMR;
+
+/**
+ * 专项培训反馈-导师关系Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public interface ITStFeedbackMRService 
+{
+    /**
+     * 查询专项培训反馈-导师关系
+     * 
+     * @param id 专项培训反馈-导师关系ID
+     * @return 专项培训反馈-导师关系
+     */
+    public TStFeedbackMR selectTStFeedbackMRById(Long id);
+
+    /**
+     * 查询专项培训反馈-导师关系列表
+     * 
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 专项培训反馈-导师关系集合
+     */
+    public List<TStFeedbackMR> selectTStFeedbackMRList(TStFeedbackMR tStFeedbackMR);
+
+    /**
+     * 新增专项培训反馈-导师关系
+     * 
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 结果
+     */
+    public int insertTStFeedbackMR(TStFeedbackMR tStFeedbackMR);
+
+    /**
+     * 修改专项培训反馈-导师关系
+     * 
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 结果
+     */
+    public int updateTStFeedbackMR(TStFeedbackMR tStFeedbackMR);
+
+    /**
+     * 批量删除专项培训反馈-导师关系
+     * 
+     * @param ids 需要删除的专项培训反馈-导师关系ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackMRByIds(Long[] ids);
+
+    /**
+     * 删除专项培训反馈-导师关系信息
+     * 
+     * @param id 专项培训反馈-导师关系ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackMRById(Long id);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/training/spec/service/ITStFeedbackMService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.training.spec.service;
+
+import java.util.List;
+import com.ruoyi.project.training.spec.domain.TStFeedbackM;
+
+/**
+ * 专项培训反馈(导师)Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public interface ITStFeedbackMService 
+{
+    /**
+     * 查询专项培训反馈(导师)
+     * 
+     * @param id 专项培训反馈(导师)ID
+     * @return 专项培训反馈(导师)
+     */
+    public TStFeedbackM selectTStFeedbackMById(Long id);
+
+    /**
+     * 查询专项培训反馈(导师)列表
+     * 
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 专项培训反馈(导师)集合
+     */
+    public List<TStFeedbackM> selectTStFeedbackMList(TStFeedbackM tStFeedbackM);
+
+    /**
+     * 新增专项培训反馈(导师)
+     * 
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 结果
+     */
+    public int insertTStFeedbackM(TStFeedbackM tStFeedbackM);
+
+    /**
+     * 修改专项培训反馈(导师)
+     * 
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 结果
+     */
+    public int updateTStFeedbackM(TStFeedbackM tStFeedbackM);
+
+    /**
+     * 批量删除专项培训反馈(导师)
+     * 
+     * @param ids 需要删除的专项培训反馈(导师)ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackMByIds(Long[] ids);
+
+    /**
+     * 删除专项培训反馈(导师)信息
+     * 
+     * @param id 专项培训反馈(导师)ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackMById(Long id);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/training/spec/service/ITStFeedbackPRService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.training.spec.service;
+
+import java.util.List;
+import com.ruoyi.project.training.spec.domain.TStFeedbackPR;
+
+/**
+ * 专项培训反馈-专项培训计划关联Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public interface ITStFeedbackPRService 
+{
+    /**
+     * 查询专项培训反馈-专项培训计划关联
+     * 
+     * @param id 专项培训反馈-专项培训计划关联ID
+     * @return 专项培训反馈-专项培训计划关联
+     */
+    public TStFeedbackPR selectTStFeedbackPRById(Long id);
+
+    /**
+     * 查询专项培训反馈-专项培训计划关联列表
+     * 
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 专项培训反馈-专项培训计划关联集合
+     */
+    public List<TStFeedbackPR> selectTStFeedbackPRList(TStFeedbackPR tStFeedbackPR);
+
+    /**
+     * 新增专项培训反馈-专项培训计划关联
+     * 
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 结果
+     */
+    public int insertTStFeedbackPR(TStFeedbackPR tStFeedbackPR);
+
+    /**
+     * 修改专项培训反馈-专项培训计划关联
+     * 
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 结果
+     */
+    public int updateTStFeedbackPR(TStFeedbackPR tStFeedbackPR);
+
+    /**
+     * 批量删除专项培训反馈-专项培训计划关联
+     * 
+     * @param ids 需要删除的专项培训反馈-专项培训计划关联ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackPRByIds(Long[] ids);
+
+    /**
+     * 删除专项培训反馈-专项培训计划关联信息
+     * 
+     * @param id 专项培训反馈-专项培训计划关联ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackPRById(Long id);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/training/spec/service/ITStFeedbackService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.training.spec.service;
+
+import java.util.List;
+import com.ruoyi.project.training.spec.domain.TStFeedback;
+
+/**
+ * 专项培训反馈Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+public interface ITStFeedbackService 
+{
+    /**
+     * 查询专项培训反馈
+     * 
+     * @param id 专项培训反馈ID
+     * @return 专项培训反馈
+     */
+    public TStFeedback selectTStFeedbackById(Long id);
+
+    /**
+     * 查询专项培训反馈列表
+     * 
+     * @param tStFeedback 专项培训反馈
+     * @return 专项培训反馈集合
+     */
+    public List<TStFeedback> selectTStFeedbackList(TStFeedback tStFeedback);
+
+    /**
+     * 新增专项培训反馈
+     * 
+     * @param tStFeedback 专项培训反馈
+     * @return 结果
+     */
+    public int insertTStFeedback(TStFeedback tStFeedback);
+
+    /**
+     * 修改专项培训反馈
+     * 
+     * @param tStFeedback 专项培训反馈
+     * @return 结果
+     */
+    public int updateTStFeedback(TStFeedback tStFeedback);
+
+    /**
+     * 批量删除专项培训反馈
+     * 
+     * @param ids 需要删除的专项培训反馈ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackByIds(Long[] ids);
+
+    /**
+     * 删除专项培训反馈信息
+     * 
+     * @param id 专项培训反馈ID
+     * @return 结果
+     */
+    public int deleteTStFeedbackById(Long id);
+}

+ 0 - 10
master/src/main/java/com/ruoyi/project/training/spec/service/ITStPlanService.java

@@ -11,16 +11,6 @@ import com.ruoyi.project.training.spec.domain.TStPlan;
  */
 public interface ITStPlanService
 {
-    /**
-     * 根据STAFF_ID查询培训计划列表
-     *
-     * @autor 王子文
-     * @date 2022年4月20日
-     * @param tStPlan 培训计划对象
-     * @return 培训计划列表
-     */
-    List<TStPlan> selectTStPlanListByStaffId(TStPlan tStPlan);
-
     /**
      * 查询培训计划
      *

+ 1 - 1
master/src/main/java/com/ruoyi/project/training/spec/service/ITStSuccessorService.java

@@ -19,7 +19,7 @@ public interface ITStSuccessorService
      * @param tStSuccessor 继任者清单对象
      * @return 继任者清单
      */
-    public List<TStSuccessor> selectTStSuccessorListByMentorId(TStSuccessor tStSuccessor);
+    public List<TStSuccessor> listSuccessorsByMentorId(TStSuccessor tStSuccessor);
 
     /**
      * 查询继任者清单

+ 93 - 0
master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStFeedbackMRServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.training.spec.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.training.spec.mapper.TStFeedbackMRMapper;
+import com.ruoyi.project.training.spec.domain.TStFeedbackMR;
+import com.ruoyi.project.training.spec.service.ITStFeedbackMRService;
+
+/**
+ * 专项培训反馈-导师关系Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+@Service
+public class TStFeedbackMRServiceImpl implements ITStFeedbackMRService
+{
+    @Autowired
+    private TStFeedbackMRMapper tStFeedbackMRMapper;
+
+    /**
+     * 查询专项培训反馈-导师关系
+     *
+     * @param id 专项培训反馈-导师关系ID
+     * @return 专项培训反馈-导师关系
+     */
+    @Override
+    public TStFeedbackMR selectTStFeedbackMRById(Long id)
+    {
+        return tStFeedbackMRMapper.selectTStFeedbackMRById(id);
+    }
+
+    /**
+     * 查询专项培训反馈-导师关系列表
+     *
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 专项培训反馈-导师关系
+     */
+    @Override
+    public List<TStFeedbackMR> selectTStFeedbackMRList(TStFeedbackMR tStFeedbackMR)
+    {
+        return tStFeedbackMRMapper.selectTStFeedbackMRList(tStFeedbackMR);
+    }
+
+    /**
+     * 新增专项培训反馈-导师关系
+     *
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 结果
+     */
+    @Override
+    public int insertTStFeedbackMR(TStFeedbackMR tStFeedbackMR)
+    {
+        return tStFeedbackMRMapper.insertTStFeedbackMR(tStFeedbackMR);
+    }
+
+    /**
+     * 修改专项培训反馈-导师关系
+     *
+     * @param tStFeedbackMR 专项培训反馈-导师关系
+     * @return 结果
+     */
+    @Override
+    public int updateTStFeedbackMR(TStFeedbackMR tStFeedbackMR)
+    {
+        return tStFeedbackMRMapper.updateTStFeedbackMR(tStFeedbackMR);
+    }
+
+    /**
+     * 批量删除专项培训反馈-导师关系
+     *
+     * @param ids 需要删除的专项培训反馈-导师关系ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTStFeedbackMRByIds(Long[] ids)
+    {
+        return tStFeedbackMRMapper.deleteTStFeedbackMRByIds(ids);
+    }
+
+    /**
+     * 删除专项培训反馈-导师关系信息
+     *
+     * @param id 专项培训反馈-导师关系ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTStFeedbackMRById(Long id)
+    {
+        return tStFeedbackMRMapper.deleteTStFeedbackMRById(id);
+    }
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStFeedbackMServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.training.spec.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.training.spec.mapper.TStFeedbackMMapper;
+import com.ruoyi.project.training.spec.domain.TStFeedbackM;
+import com.ruoyi.project.training.spec.service.ITStFeedbackMService;
+
+/**
+ * 专项培训反馈(导师)Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+@Service
+public class TStFeedbackMServiceImpl implements ITStFeedbackMService
+{
+    @Autowired
+    private TStFeedbackMMapper tStFeedbackMMapper;
+
+    /**
+     * 查询专项培训反馈(导师)
+     *
+     * @param id 专项培训反馈(导师)ID
+     * @return 专项培训反馈(导师)
+     */
+    @Override
+    public TStFeedbackM selectTStFeedbackMById(Long id)
+    {
+        return tStFeedbackMMapper.selectTStFeedbackMById(id);
+    }
+
+    /**
+     * 查询专项培训反馈(导师)列表
+     *
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 专项培训反馈(导师)
+     */
+    @Override
+    public List<TStFeedbackM> selectTStFeedbackMList(TStFeedbackM tStFeedbackM)
+    {
+        return tStFeedbackMMapper.selectTStFeedbackMList(tStFeedbackM);
+    }
+
+    /**
+     * 新增专项培训反馈(导师)
+     *
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 结果
+     */
+    @Override
+    public int insertTStFeedbackM(TStFeedbackM tStFeedbackM)
+    {
+        return tStFeedbackMMapper.insertTStFeedbackM(tStFeedbackM);
+    }
+
+    /**
+     * 修改专项培训反馈(导师)
+     *
+     * @param tStFeedbackM 专项培训反馈(导师)
+     * @return 结果
+     */
+    @Override
+    public int updateTStFeedbackM(TStFeedbackM tStFeedbackM)
+    {
+        return tStFeedbackMMapper.updateTStFeedbackM(tStFeedbackM);
+    }
+
+    /**
+     * 批量删除专项培训反馈(导师)
+     *
+     * @param ids 需要删除的专项培训反馈(导师)ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTStFeedbackMByIds(Long[] ids)
+    {
+        return tStFeedbackMMapper.deleteTStFeedbackMByIds(ids);
+    }
+
+    /**
+     * 删除专项培训反馈(导师)信息
+     *
+     * @param id 专项培训反馈(导师)ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTStFeedbackMById(Long id)
+    {
+        return tStFeedbackMMapper.deleteTStFeedbackMById(id);
+    }
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStFeedbackPRServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.training.spec.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.training.spec.mapper.TStFeedbackPRMapper;
+import com.ruoyi.project.training.spec.domain.TStFeedbackPR;
+import com.ruoyi.project.training.spec.service.ITStFeedbackPRService;
+
+/**
+ * 专项培训反馈-专项培训计划关联Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+@Service
+public class TStFeedbackPRServiceImpl implements ITStFeedbackPRService
+{
+    @Autowired
+    private TStFeedbackPRMapper tStFeedbackPRMapper;
+
+    /**
+     * 查询专项培训反馈-专项培训计划关联
+     *
+     * @param id 专项培训反馈-专项培训计划关联ID
+     * @return 专项培训反馈-专项培训计划关联
+     */
+    @Override
+    public TStFeedbackPR selectTStFeedbackPRById(Long id)
+    {
+        return tStFeedbackPRMapper.selectTStFeedbackPRById(id);
+    }
+
+    /**
+     * 查询专项培训反馈-专项培训计划关联列表
+     *
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 专项培训反馈-专项培训计划关联
+     */
+    @Override
+    public List<TStFeedbackPR> selectTStFeedbackPRList(TStFeedbackPR tStFeedbackPR)
+    {
+        return tStFeedbackPRMapper.selectTStFeedbackPRList(tStFeedbackPR);
+    }
+
+    /**
+     * 新增专项培训反馈-专项培训计划关联
+     *
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 结果
+     */
+    @Override
+    public int insertTStFeedbackPR(TStFeedbackPR tStFeedbackPR)
+    {
+        return tStFeedbackPRMapper.insertTStFeedbackPR(tStFeedbackPR);
+    }
+
+    /**
+     * 修改专项培训反馈-专项培训计划关联
+     *
+     * @param tStFeedbackPR 专项培训反馈-专项培训计划关联
+     * @return 结果
+     */
+    @Override
+    public int updateTStFeedbackPR(TStFeedbackPR tStFeedbackPR)
+    {
+        return tStFeedbackPRMapper.updateTStFeedbackPR(tStFeedbackPR);
+    }
+
+    /**
+     * 批量删除专项培训反馈-专项培训计划关联
+     *
+     * @param ids 需要删除的专项培训反馈-专项培训计划关联ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTStFeedbackPRByIds(Long[] ids)
+    {
+        return tStFeedbackPRMapper.deleteTStFeedbackPRByIds(ids);
+    }
+
+    /**
+     * 删除专项培训反馈-专项培训计划关联信息
+     *
+     * @param id 专项培训反馈-专项培训计划关联ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTStFeedbackPRById(Long id)
+    {
+        return tStFeedbackPRMapper.deleteTStFeedbackPRById(id);
+    }
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStFeedbackServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.training.spec.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.training.spec.mapper.TStFeedbackMapper;
+import com.ruoyi.project.training.spec.domain.TStFeedback;
+import com.ruoyi.project.training.spec.service.ITStFeedbackService;
+
+/**
+ * 专项培训反馈Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-04-24
+ */
+@Service
+public class TStFeedbackServiceImpl implements ITStFeedbackService
+{
+    @Autowired
+    private TStFeedbackMapper tStFeedbackMapper;
+
+    /**
+     * 查询专项培训反馈
+     *
+     * @param id 专项培训反馈ID
+     * @return 专项培训反馈
+     */
+    @Override
+    public TStFeedback selectTStFeedbackById(Long id)
+    {
+        return tStFeedbackMapper.selectTStFeedbackById(id);
+    }
+
+    /**
+     * 查询专项培训反馈列表
+     *
+     * @param tStFeedback 专项培训反馈
+     * @return 专项培训反馈
+     */
+    @Override
+    public List<TStFeedback> selectTStFeedbackList(TStFeedback tStFeedback)
+    {
+        return tStFeedbackMapper.selectTStFeedbackList(tStFeedback);
+    }
+
+    /**
+     * 新增专项培训反馈
+     *
+     * @param tStFeedback 专项培训反馈
+     * @return 结果
+     */
+    @Override
+    public int insertTStFeedback(TStFeedback tStFeedback)
+    {
+        return tStFeedbackMapper.insertTStFeedback(tStFeedback);
+    }
+
+    /**
+     * 修改专项培训反馈
+     *
+     * @param tStFeedback 专项培训反馈
+     * @return 结果
+     */
+    @Override
+    public int updateTStFeedback(TStFeedback tStFeedback)
+    {
+        return tStFeedbackMapper.updateTStFeedback(tStFeedback);
+    }
+
+    /**
+     * 批量删除专项培训反馈
+     *
+     * @param ids 需要删除的专项培训反馈ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTStFeedbackByIds(Long[] ids)
+    {
+        return tStFeedbackMapper.deleteTStFeedbackByIds(ids);
+    }
+
+    /**
+     * 删除专项培训反馈信息
+     *
+     * @param id 专项培训反馈ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTStFeedbackById(Long id)
+    {
+        return tStFeedbackMapper.deleteTStFeedbackById(id);
+    }
+}

+ 0 - 13
master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStPlanServiceImpl.java

@@ -19,19 +19,6 @@ public class TStPlanServiceImpl implements ITStPlanService
     @Autowired
     private TStPlanMapper tStPlanMapper;
 
-    /**
-     * 根据STAFF_ID查询培训计划列表
-     *
-     * @autor 王子文
-     * @date 2022年4月20日
-     * @param tStPlan 培训计划对象
-     * @return 培训计划列表
-     */
-    @Override
-    public List<TStPlan> selectTStPlanListByStaffId(TStPlan tStPlan) {
-        return tStPlanMapper.selectTStPlanListByStaffId(tStPlan);
-    }
-
     /**
      * 查询培训计划
      *

+ 2 - 2
master/src/main/java/com/ruoyi/project/training/spec/service/impl/TStSuccessorServiceImpl.java

@@ -28,9 +28,9 @@ public class TStSuccessorServiceImpl implements ITStSuccessorService
      * @return 继任者清单
      */
     @Override
-    public List<TStSuccessor> selectTStSuccessorListByMentorId(TStSuccessor tStSuccessor)
+    public List<TStSuccessor> listSuccessorsByMentorId(TStSuccessor tStSuccessor)
     {
-        return tStSuccessorMapper.selectTStSuccessorListByMentorId(tStSuccessor);
+        return tStSuccessorMapper.selectSuccessorListByMentorId(tStSuccessor);
     }
 
     /**

+ 69 - 0
master/src/main/resources/mybatis/training/spec/TStFeedbackMMapper.xml

@@ -0,0 +1,69 @@
+<?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.training.spec.mapper.TStFeedbackMMapper">
+    
+    <resultMap type="TStFeedbackM" id="TStFeedbackMResult">
+        <result property="id"    column="id"    />
+        <result property="monthlyFeedbackId"    column="monthly_feedback_id"    />
+        <result property="overallComment"    column="overall_comment"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTStFeedbackMVo">
+        select d.id, d.monthly_feedback_id, d.overall_comment ,s.dept_name from t_st_feedback_m d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTStFeedbackMList" parameterType="TStFeedbackM" resultMap="TStFeedbackMResult">
+        <include refid="selectTStFeedbackMVo"/>
+        <where>  
+            <if test="monthlyFeedbackId != null "> and monthly_feedback_id = #{monthlyFeedbackId}</if>
+            <if test="overallComment != null  and overallComment != ''"> and overall_comment = #{overallComment}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+    
+    <select id="selectTStFeedbackMById" parameterType="Long" resultMap="TStFeedbackMResult">
+        <include refid="selectTStFeedbackMVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTStFeedbackM" parameterType="TStFeedbackM">
+        insert into t_st_feedback_m
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="monthlyFeedbackId != null">monthly_feedback_id,</if>
+            <if test="overallComment != null">overall_comment,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="monthlyFeedbackId != null">#{monthlyFeedbackId},</if>
+            <if test="overallComment != null">#{overallComment},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTStFeedbackM" parameterType="TStFeedbackM">
+        update t_st_feedback_m
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="monthlyFeedbackId != null">monthly_feedback_id = #{monthlyFeedbackId},</if>
+            <if test="overallComment != null">overall_comment = #{overallComment},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTStFeedbackMById" parameterType="Long">
+        update t_st_feedback_m set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTStFeedbackMByIds" parameterType="String">
+        update t_st_feedback_m set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    
+</mapper>

+ 69 - 0
master/src/main/resources/mybatis/training/spec/TStFeedbackMRMapper.xml

@@ -0,0 +1,69 @@
+<?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.training.spec.mapper.TStFeedbackMRMapper">
+    
+    <resultMap type="TStFeedbackMR" id="TStFeedbackMRResult">
+        <result property="id"    column="id"    />
+        <result property="monthlyFeedbackId"    column="monthly_feedback_id"    />
+        <result property="monthlyFeedbackMId"    column="monthly_feedback_m_id"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTStFeedbackMRVo">
+        select d.id, d.monthly_feedback_id, d.monthly_feedback_m_id ,s.dept_name from t_st_feedback_m_r d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTStFeedbackMRList" parameterType="TStFeedbackMR" resultMap="TStFeedbackMRResult">
+        <include refid="selectTStFeedbackMRVo"/>
+        <where>  
+            <if test="monthlyFeedbackId != null "> and monthly_feedback_id = #{monthlyFeedbackId}</if>
+            <if test="monthlyFeedbackMId != null "> and monthly_feedback_m_id = #{monthlyFeedbackMId}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+    
+    <select id="selectTStFeedbackMRById" parameterType="Long" resultMap="TStFeedbackMRResult">
+        <include refid="selectTStFeedbackMRVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTStFeedbackMR" parameterType="TStFeedbackMR">
+        insert into t_st_feedback_m_r
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="monthlyFeedbackId != null">monthly_feedback_id,</if>
+            <if test="monthlyFeedbackMId != null">monthly_feedback_m_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="monthlyFeedbackId != null">#{monthlyFeedbackId},</if>
+            <if test="monthlyFeedbackMId != null">#{monthlyFeedbackMId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTStFeedbackMR" parameterType="TStFeedbackMR">
+        update t_st_feedback_m_r
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="monthlyFeedbackId != null">monthly_feedback_id = #{monthlyFeedbackId},</if>
+            <if test="monthlyFeedbackMId != null">monthly_feedback_m_id = #{monthlyFeedbackMId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTStFeedbackMRById" parameterType="Long">
+        update t_st_feedback_m_r set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTStFeedbackMRByIds" parameterType="String">
+        update t_st_feedback_m_r set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    
+</mapper>

+ 89 - 0
master/src/main/resources/mybatis/training/spec/TStFeedbackMapper.xml

@@ -0,0 +1,89 @@
+<?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.training.spec.mapper.TStFeedbackMapper">
+    
+    <resultMap type="TStFeedback" id="TStFeedbackResult">
+        <result property="id"    column="id"    />
+        <result property="successorComment"    column="successor_comment"    />
+        <result property="updaterCode"    column="updater_code"    />
+        <result property="updatedate"    column="updatedate"    />
+        <result property="createrCode"    column="creater_code"    />
+        <result property="createdate"    column="createdate"    />
+        <result property="feecbackType"    column="feecback_type"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTStFeedbackVo">
+        select d.id, d.successor_comment, d.updater_code, d.updatedate, d.creater_code, d.createdate, d.feecback_type ,s.dept_name from t_st_feedback d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTStFeedbackList" parameterType="TStFeedback" resultMap="TStFeedbackResult">
+        <include refid="selectTStFeedbackVo"/>
+        <where>  
+            <if test="successorComment != null  and successorComment != ''"> and successor_comment = #{successorComment}</if>
+            <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
+            <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
+            <if test="createdate != null "> and createdate = #{createdate}</if>
+            <if test="feecbackType != null "> and feecback_type = #{feecbackType}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+    
+    <select id="selectTStFeedbackById" parameterType="Long" resultMap="TStFeedbackResult">
+        <include refid="selectTStFeedbackVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTStFeedback" parameterType="TStFeedback">
+        insert into t_st_feedback
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="successorComment != null">successor_comment,</if>
+            <if test="updaterCode != null">updater_code,</if>
+            <if test="updatedate != null">updatedate,</if>
+            <if test="createrCode != null">creater_code,</if>
+            <if test="createdate != null">createdate,</if>
+            <if test="feecbackType != null">feecback_type,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="successorComment != null">#{successorComment},</if>
+            <if test="updaterCode != null">#{updaterCode},</if>
+            <if test="updatedate != null">#{updatedate},</if>
+            <if test="createrCode != null">#{createrCode},</if>
+            <if test="createdate != null">#{createdate},</if>
+            <if test="feecbackType != null">#{feecbackType},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTStFeedback" parameterType="TStFeedback">
+        update t_st_feedback
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="successorComment != null">successor_comment = #{successorComment},</if>
+            <if test="updaterCode != null">updater_code = #{updaterCode},</if>
+            <if test="updatedate != null">updatedate = #{updatedate},</if>
+            <if test="createrCode != null">creater_code = #{createrCode},</if>
+            <if test="createdate != null">createdate = #{createdate},</if>
+            <if test="feecbackType != null">feecback_type = #{feecbackType},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTStFeedbackById" parameterType="Long">
+        update t_st_feedback set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTStFeedbackByIds" parameterType="String">
+        update t_st_feedback set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    
+</mapper>

+ 69 - 0
master/src/main/resources/mybatis/training/spec/TStFeedbackPRMapper.xml

@@ -0,0 +1,69 @@
+<?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.training.spec.mapper.TStFeedbackPRMapper">
+    
+    <resultMap type="TStFeedbackPR" id="TStFeedbackPRResult">
+        <result property="id"    column="id"    />
+        <result property="monthlyFeedbackId"    column="monthly_feedback_id"    />
+        <result property="planId"    column="plan_id"    />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectTStFeedbackPRVo">
+        select d.id, d.monthly_feedback_id, d.plan_id ,s.dept_name from t_st_feedback_p_r d
+      left join sys_dept s on s.dept_id = d.dept_id
+    </sql>
+
+    <select id="selectTStFeedbackPRList" parameterType="TStFeedbackPR" resultMap="TStFeedbackPRResult">
+        <include refid="selectTStFeedbackPRVo"/>
+        <where>  
+            <if test="monthlyFeedbackId != null "> and monthly_feedback_id = #{monthlyFeedbackId}</if>
+            <if test="planId != null "> and plan_id = #{planId}</if>
+            and d.del_flag = 0
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+    </select>
+    
+    <select id="selectTStFeedbackPRById" parameterType="Long" resultMap="TStFeedbackPRResult">
+        <include refid="selectTStFeedbackPRVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTStFeedbackPR" parameterType="TStFeedbackPR">
+        insert into t_st_feedback_p_r
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="monthlyFeedbackId != null">monthly_feedback_id,</if>
+            <if test="planId != null">plan_id,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="monthlyFeedbackId != null">#{monthlyFeedbackId},</if>
+            <if test="planId != null">#{planId},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTStFeedbackPR" parameterType="TStFeedbackPR">
+        update t_st_feedback_p_r
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="monthlyFeedbackId != null">monthly_feedback_id = #{monthlyFeedbackId},</if>
+            <if test="planId != null">plan_id = #{planId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTStFeedbackPRById" parameterType="Long">
+        update t_st_feedback_p_r set del_flag = 2 where id = #{id}
+    </update>
+
+    <update id="deleteTStFeedbackPRByIds" parameterType="String">
+        update t_st_feedback_p_r set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+    
+</mapper>

+ 1 - 21
master/src/main/resources/mybatis/training/spec/TStPlanMapper.xml

@@ -7,8 +7,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap type="TStPlan" id="TStPlanResult">
         <result property="id"    column="id"    />
         <result property="staffId"    column="staff_id"    />
-        <!-- 王子文 2022年4月19日 10点28分 -->
-        <!-- 添加 映射属性 staffName -->
         <result property="staffName"    column="nick_name"    />
         <result property="delFlag"    column="del_flag"    />
         <result property="createrCode"    column="creater_code"    />
@@ -25,37 +23,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="score" column="score" />
         <result property="overallComment" column="overall_comment" />
         <result property="approveStatus" column="APPROVE_STATUS" />
-        <!-- 王子文 2022年4月22日 14点20分 -->
-        <!-- 添加 映射属性 dateOfCompletion -->
         <result property="dateOfCompletion" column="date_of_completion" />
     </resultMap>
 
     <sql id="selectTStPlanVo">
-        <!-- select d.id, d.staff_id, d.plant_name, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.start_date, d.end_date, d.class_hour, d.class_content, d.study_state ,s.dept_name from t_st_plan d left join sys_dept s on s.dept_id = d.dept_id -->
-        <!-- 王子文 2022年4月19日 10点28分 -->
-        <!-- 添加 表连接 sys_user u -->
-        <!-- 添加 结果字段 u.nick_name -->
         select d.date_of_completion, suc.MENTOR_STAFF_ID, d.overall_comment, d.score, d.id, d.staff_id,d.APPROVE_STATUS, u.nick_name, d.plant_name, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.start_date, d.end_date, d.class_hour, d.class_content, d.study_state ,s.dept_name from t_st_plan d
         left join sys_dept s on s.dept_id = d.dept_id
         left join sys_user u on d.staff_id = u.staffid
         left join T_ST_SUCCESSOR suc on d.STAFF_ID = suc.STAFF_ID
     </sql>
 
-    <!--王子文 2022年4月20日 09点30分 添加-->
-    <!--根据STAFF_ID查询培训计划列表-->
-    <select id="selectTStPlanListByStaffId" parameterType="TStPlan" resultMap="TStPlanResult">
-        <include refid="selectTStPlanVo"/>
-        <where>
-            <if test="staffId != null  and staffId != ''"> and staff_id = #{staffId}</if>
-            and d.del_flag = 0
-        </where>
-        <!-- 数据范围过滤 -->
-    </select>
-
     <select id="selectTStPlanList" parameterType="TStPlan" resultMap="TStPlanResult">
         <include refid="selectTStPlanVo"/>
         <where>
-            <if test="staffId != null  and staffId != ''"> and staff_id = #{staffId}</if>
+            <if test="staffId != null  and staffId != ''"> and d.staff_id = #{staffId}</if>
             <if test="plantName != null  and plantName != ''"> and plant_name like concat(concat('%', #{plantName}), '%')</if>
             <if test="startDate != null "> and start_date = #{startDate}</if>
             <if test="endDate != null "> and end_date = #{endDate}</if>
@@ -65,7 +46,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             and d.del_flag = 0
         </where>
         <!-- 数据范围过滤 -->
-
     </select>
 
     <select id="selectTStPlanById" parameterType="Long" resultMap="TStPlanResult">

+ 1 - 2
master/src/main/resources/mybatis/training/spec/TStSuccessorMapper.xml

@@ -20,7 +20,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="deptName" column="dept_name" />
     </resultMap>
 
-
     <sql id="selectTStSuccessorVo">
           select d.id, d.staff_id,t.name as staffName,m.name as mentorStaffName, d.remarks, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.actualpost, d.mentor_staff_id, d.state ,s.dept_name
          from t_st_successor d
@@ -31,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <!--王子文 2022年4月18日-->
     <!--根据导师ID查询学员列表-->
-    <select id="selectTStSuccessorListByMentorId" parameterType="TStSuccessor" resultMap="TStSuccessorResult">
+    <select id="selectSuccessorListByMentorId" parameterType="TStSuccessor" resultMap="TStSuccessorResult">
         <include refid="selectTStSuccessorVo"/>
         <where>
             <if test="mentorStaffId != null  and mentorStaffId != ''"> and mentor_staff_id = #{mentorStaffId}</if>

+ 11 - 2
ui/src/api/training/spec/plan.js

@@ -1,5 +1,14 @@
 import request from '@/utils/request'
 
+// 根据MENTOR_STAFF_ID查询培训计划列表
+export function listPlanByMentorId(query) {
+  return request({
+    url: '/spec/plan/listByMentorId',
+    method: 'get',
+    params: query
+  })
+}
+
 // 根据STAFF_ID查询培训计划列表
 export function listPlanByStaffId(query) {
   return request({
@@ -10,9 +19,9 @@ export function listPlanByStaffId(query) {
 }
 
 // 根据导师ID查询学员列表
-export function getSuccessorListByMentorId(query) {
+export function listSuccessorsByMentorId(query) {
   return request({
-    url: '/spec/plan/getSuccessorListByMentorId',
+    url: '/spec/plan/listSuccessorsByMentorId',
     method: 'get',
     params: query
   })

+ 3 - 3
ui/src/views/training/spec/myplan/index.vue

@@ -377,8 +377,8 @@
 </template>
 
 <script>
-import { listFeedback, getFeedback, addFeedback, updateFeedback, delFeedback, exportFeedback } from "@/api/training/spec/feedback";
-import { getPlan, delPlan, addPlan, updatePlan, exportPlan, importTemplate, getSuccessorListByMentorId, listPlanByStaffId } from "@/api/training/spec/plan";
+import { getFeedback, addFeedback } from "@/api/training/spec/feedback";
+import { getPlan, delPlan, addPlan, updatePlan, exportPlan, importTemplate, listPlanByStaffId } from "@/api/training/spec/plan";
 import { allFileList, delCommonfile } from "@/api/common/commonfile";
 import { treeselect } from "@/api/system/dept";
 import { getToken } from "@/utils/auth";
@@ -552,7 +552,7 @@ export default {
       // 实际完成培训日期超出培训结束日期
       if (row.endDate < row.dateOfCompletion) {
         // 修改变行背景色
-        rowBackground.background = "#FFC8C8";
+        rowBackground.background = "#FFEEEE";
       }
       return rowBackground;
     },

+ 6 - 10
ui/src/views/training/spec/plan/index.vue

@@ -403,8 +403,8 @@
 </template>
 
 <script>
-import { listFeedback, getFeedback, addFeedback, updateFeedback, delFeedback, exportFeedback } from "@/api/training/spec/feedback";
-import { listPlan, getPlan, delPlan, addPlan, updatePlan, exportPlan, importTemplate, getSuccessorListByMentorId } from "@/api/training/spec/plan";
+import { getFeedback} from "@/api/training/spec/feedback";
+import { getPlan, delPlan, addPlan, updatePlan, exportPlan, importTemplate, listSuccessorsByMentorId, listPlanByMentorId } from "@/api/training/spec/plan";
 import { allFileList, delCommonfile } from "@/api/common/commonfile";
 import { treeselect } from "@/api/system/dept";
 import { getToken } from "@/utils/auth";
@@ -413,7 +413,7 @@ import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
-  name: "Plan",
+  name: "MyPlan",
   components: { Treeselect,PlanApprove },
   data() {
     return {
@@ -563,10 +563,6 @@ export default {
       this.approveStatusOptions = response.data;
     });
     this.getSuccessorOptions();
-  },
-  computed: {
-    
-    
   },
   methods: {
     /** 表格行样式 */
@@ -575,7 +571,7 @@ export default {
       // 实际完成培训日期超出培训结束日期
       if (row.endDate < row.dateOfCompletion) {
         // 修改变行背景色
-        rowBackground.background = "#FFC8C8";
+        rowBackground.background = "#FFEEEE";
       }
       return rowBackground;
     },
@@ -687,7 +683,7 @@ export default {
     },
     /** 查询学员下拉列表 */
     getSuccessorOptions() {
-      getSuccessorListByMentorId(this.queryObject).then(response => {
+      listSuccessorsByMentorId(this.queryObject).then(response => {
         let successorList = response.data;
         for (let i = 0; i < successorList.length; i++) {
           let successor = {};
@@ -700,7 +696,7 @@ export default {
     /** 查询培训计划列表 */
     getList() {
       this.loading = true;
-      listPlan(this.queryParams).then(response => {
+      listPlanByMentorId(this.queryParams).then(response => {
         this.planList = response.rows;
         this.total = response.total;
         this.loading = false;