Pārlūkot izejas kodu

王子文 专项培养
1) 专项培养清单导出
2) 年度培养计划导出
3) 培养计划导出

wangggziwen 3 gadi atpakaļ
vecāks
revīzija
a1dbdab778

+ 2 - 4
master/src/main/java/com/ruoyi/project/training/spec/controller/TStFeedbackController.java

@@ -9,16 +9,15 @@ import com.github.stuxuhai.jpinyin.PinyinException;
 import com.github.stuxuhai.jpinyin.PinyinFormat;
 import com.github.stuxuhai.jpinyin.PinyinHelper;
 import com.ruoyi.common.sendEmail.IMailService;
-import com.ruoyi.common.thread.Trainning.MeetingInvitationMailThread;
-import com.ruoyi.common.thread.Trainning.MonthlyFeedbackMailThread;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.service.ISysUserService;
 import com.ruoyi.project.training.spec.domain.*;
+import com.ruoyi.project.training.spec.domain.vo.TStFeedbackSeasonalVO;
+import com.ruoyi.project.training.spec.domain.vo.TStFeedbackVO;
 import com.ruoyi.project.training.spec.service.ITStPlanService;
 import com.ruoyi.project.training.spec.service.ITStQuestionAnswerService;
 import com.ruoyi.project.training.spec.service.ITStSuccessorScoreService;
 import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -36,7 +35,6 @@ 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;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
 /**
  * 专项培训反馈Controller

+ 21 - 3
master/src/main/java/com/ruoyi/project/training/spec/controller/TStPlanController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.project.training.spec.controller;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -15,9 +16,11 @@ import com.ruoyi.project.system.service.ISysUserService;
 import com.ruoyi.project.training.spec.domain.TStFeedback;
 import com.ruoyi.project.training.spec.domain.TStSuccessor;
 import com.ruoyi.project.training.spec.domain.TStYearplan;
+import com.ruoyi.project.training.spec.domain.vo.TStPlanExportVO;
 import com.ruoyi.project.training.spec.mapper.TStSuccessorMapper;
 import com.ruoyi.project.training.spec.service.ITStSuccessorService;
 import com.ruoyi.project.training.spec.service.ITStYearplanService;
+import org.apache.velocity.util.ArrayListWrapper;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -209,9 +212,24 @@ public class TStPlanController extends BaseController
     @GetMapping("/export")
     public AjaxResult export(TStPlan tStPlan)
     {
-        List<TStPlan> list = tStPlanService.selectTStPlanList(tStPlan);
-        ExcelUtil<TStPlan> util = new ExcelUtil<TStPlan>(TStPlan.class);
-        return util.exportExcel(list, "plan");
+        // 培养计划
+        List<TStPlan> plans = tStPlanService.selectTStPlanList(tStPlan);
+        // 培养计划导出内容
+        List<TStPlanExportVO> planVOs = new ArrayList<>();
+        for (TStPlan plan : plans) {
+            TStPlanExportVO planVO = new TStPlanExportVO();
+            planVO.setStaffName(plan.getStaffName());
+            planVO.setPlantName(plan.getPlantName());
+            planVO.setStartDate(plan.getStartDate());
+            planVO.setEndDate(plan.getEndDate());
+            planVO.setDateOfCompletion(plan.getDateOfCompletion());
+            planVO.setClassContent(plan.getClassContent());
+            planVO.setStudyState(plan.getStudyState());
+            planVO.setApproveStatus(plan.getApproveStatus());
+            planVOs.add(planVO);
+        }
+        ExcelUtil<TStPlanExportVO> util = new ExcelUtil<TStPlanExportVO>(TStPlanExportVO.class);
+        return util.exportExcel(planVOs, "培养计划明细");
     }
 
     /**

+ 33 - 6
master/src/main/java/com/ruoyi/project/training/spec/controller/TStSuccessorController.java

@@ -8,6 +8,7 @@ import com.ruoyi.project.plant.service.ITStaffmgrService;
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.service.ISysUserService;
 import com.ruoyi.project.training.spec.domain.TStSuccessorScore;
+import com.ruoyi.project.training.spec.domain.vo.TStSuccessorExportVO;
 import com.ruoyi.project.training.spec.service.ITStSuccessorScoreService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -126,9 +127,6 @@ public class TStSuccessorController extends BaseController
         return AjaxResult.success(list);
     }
 
-
-
-
     /**
      * 导出继任者清单列表
      */
@@ -137,9 +135,38 @@ public class TStSuccessorController extends BaseController
     @GetMapping("/export")
     public AjaxResult export(TStSuccessor tStSuccessor)
     {
-        List<TStSuccessor> list = tStSuccessorService.selectTStSuccessorList(tStSuccessor);
-        ExcelUtil<TStSuccessor> util = new ExcelUtil<TStSuccessor>(TStSuccessor.class);
-        return util.exportExcel(list, "successor");
+        // 继任者清单
+        List<TStSuccessor> successors = tStSuccessorService.selectTStSuccessorList(tStSuccessor);
+        // 继任者清单导出内容
+        List<TStSuccessorExportVO> successorVOs = new ArrayList<TStSuccessorExportVO>();
+        for (TStSuccessor successor: successors) {
+            // 继任者清单导出内容VO
+            TStSuccessorExportVO successorVO = new TStSuccessorExportVO();
+            successorVO.setStaffId(successor.getStaffId());
+            successorVO.setStaffName(successor.getStaffName());
+            successorVO.setCurrentPost(successor.getActualpost());
+            successorVO.setMentorStaffName(successor.getMentorStaffName());
+            successorVO.setState(successor.getState());
+            successorVO.setDeptName(successor.getDeptName());
+            successorVO.setRemarks(successor.getRemarks());
+            TStaffmgr staffmgr = tStaffmgrService.selectTStaffmgrByStaffId(successor.getStaffId());
+            successorVO.setFuturePost(staffmgr.getActualpost());
+            successorVO.setTeam(staffmgr.getTeam());
+            TStSuccessorScore queryObj = new TStSuccessorScore();
+            queryObj.setStaffId(successor.getStaffId());
+            List<TStSuccessorScore> scoreList = tStSuccessorScoreService.selectTStSuccessorScoreList(queryObj);
+            if (scoreList.size() != 0) {
+                TStSuccessorScore stSuccessorScore = scoreList.get(0);
+                successorVO.setQuarterOne(stSuccessorScore.getQuarterOne());
+                successorVO.setQuarterTwo(stSuccessorScore.getQuarterTwo());
+                successorVO.setQuarterThree(stSuccessorScore.getQuarterThree());
+                successorVO.setQuarterFour(stSuccessorScore.getQuarterFour());
+                successorVO.setYear(stSuccessorScore.getYear());
+            }
+            successorVOs.add(successorVO);
+        }
+        ExcelUtil<TStSuccessorExportVO> util = new ExcelUtil<TStSuccessorExportVO>(TStSuccessorExportVO.class);
+        return util.exportExcel(successorVOs, "专项培养清单");
     }
 
     /**

+ 18 - 3
master/src/main/java/com/ruoyi/project/training/spec/controller/TStYearplanController.java

@@ -1,10 +1,12 @@
 package com.ruoyi.project.training.spec.controller;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import com.ruoyi.project.system.domain.SysUser;
 import com.ruoyi.project.system.service.ISysUserService;
 import com.ruoyi.project.training.spec.domain.TStFeedback;
+import com.ruoyi.project.training.spec.domain.vo.TStYearPlanExportVO;
 import com.ruoyi.project.training.spec.mapper.TStPlanMapper;
 import com.ruoyi.project.training.spec.mapper.TStYearplanMapper;
 import com.ruoyi.project.training.spec.service.ITStFeedbackService;
@@ -79,9 +81,22 @@ public class TStYearplanController extends BaseController
     @GetMapping("/export")
     public AjaxResult export(TStYearplan tStYearplan)
     {
-        List<TStYearplan> list = tStYearplanService.selectTStYearplanList(tStYearplan);
-        ExcelUtil<TStYearplan> util = new ExcelUtil<TStYearplan>(TStYearplan.class);
-        return util.exportExcel(list, "yearplan");
+        // 年度计划
+        List<TStYearplan> yearPlans = tStYearplanService.selectTStYearplanList(tStYearplan);
+        // 年度计划导出内容
+        List<TStYearPlanExportVO> yearPlanVOs = new ArrayList<>();
+        for (TStYearplan yearPlan : yearPlans) {
+            TStYearPlanExportVO yearPlanVO = new TStYearPlanExportVO();
+            yearPlanVO.setStaffId(yearPlan.getStaffId());
+            yearPlanVO.setStaffName(yearPlan.getStaffName());
+            yearPlanVO.setName(yearPlan.getName());
+            yearPlanVO.setPlanYear(yearPlan.getPlanYear());
+            yearPlanVO.setDeptName(yearPlan.getDeptName());
+            yearPlanVO.setApproveStatus(yearPlan.getApproveStatus());
+            yearPlanVOs.add(yearPlanVO);
+        }
+        ExcelUtil<TStYearPlanExportVO> util = new ExcelUtil<TStYearPlanExportVO>(TStYearPlanExportVO.class);
+        return util.exportExcel(yearPlanVOs, "年度培养计划");
     }
 
     /**

+ 1 - 2
master/src/main/java/com/ruoyi/project/training/spec/scheduler/TStFeedbackScheduler.java → master/src/main/java/com/ruoyi/project/training/spec/controller/scheduler/TStFeedbackScheduler.java

@@ -1,4 +1,4 @@
-package com.ruoyi.project.training.spec.scheduler;
+package com.ruoyi.project.training.spec.controller.scheduler;
 
 import com.github.stuxuhai.jpinyin.PinyinException;
 import com.github.stuxuhai.jpinyin.PinyinFormat;
@@ -11,7 +11,6 @@ import com.ruoyi.project.training.spec.domain.TStFeedback;
 import com.ruoyi.project.training.spec.service.ITStFeedbackService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;

+ 2 - 1
master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedbackSeasonalVO.java → master/src/main/java/com/ruoyi/project/training/spec/domain/vo/TStFeedbackSeasonalVO.java

@@ -1,8 +1,9 @@
-package com.ruoyi.project.training.spec.domain;
+package com.ruoyi.project.training.spec.domain.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import com.ruoyi.framework.web.domain.BaseEntity;
+import com.ruoyi.project.training.spec.domain.TStQuestionAnswer;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 

+ 2 - 1
master/src/main/java/com/ruoyi/project/training/spec/domain/TStFeedbackVO.java → master/src/main/java/com/ruoyi/project/training/spec/domain/vo/TStFeedbackVO.java

@@ -1,4 +1,4 @@
-package com.ruoyi.project.training.spec.domain;
+package com.ruoyi.project.training.spec.domain.vo;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -7,6 +7,7 @@ import java.util.List;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import com.ruoyi.framework.web.domain.BaseEntity;
+import com.ruoyi.project.training.spec.domain.TStPlan;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 

+ 108 - 0
master/src/main/java/com/ruoyi/project/training/spec/domain/vo/TStPlanExportVO.java

@@ -0,0 +1,108 @@
+package com.ruoyi.project.training.spec.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * 培养计划导出内容
+ *
+ * @author Wang Zi Wen
+ * @email wangggziwen@163.com
+ * @date 2022/05/26 13:42:44
+ */
+public class TStPlanExportVO extends BaseEntity
+{
+    @Excel(name = "员工")
+    private String staffName;
+
+    @Excel(name = "课程内容")
+    private String plantName;
+
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "开始日期", dateFormat = "yyyy-MM-dd")
+    private Date startDate;
+
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "结束日期", dateFormat = "yyyy-MM-dd")
+    private Date endDate;
+
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    @Excel(name = "实际完成日期", dateFormat = "yyyy-MM-dd")
+    private Date dateOfCompletion;
+
+    @Excel(name = "具体内容")
+    private String classContent;
+
+    @Excel(name = "学习状态", dictType = "st_study_state")
+    private String studyState;
+
+    @Excel(name = "申请状态", dictType = "spec_training_approve_status")
+    private Long approveStatus;
+
+    public String getStaffName() {
+        return staffName;
+    }
+
+    public void setStaffName(String staffName) {
+        this.staffName = staffName;
+    }
+
+    public String getPlantName() {
+        return plantName;
+    }
+
+    public void setPlantName(String plantName) {
+        this.plantName = plantName;
+    }
+
+    public Date getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(Date startDate) {
+        this.startDate = startDate;
+    }
+
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
+
+    public Date getDateOfCompletion() {
+        return dateOfCompletion;
+    }
+
+    public void setDateOfCompletion(Date dateOfCompletion) {
+        this.dateOfCompletion = dateOfCompletion;
+    }
+
+    public String getClassContent() {
+        return classContent;
+    }
+
+    public void setClassContent(String classContent) {
+        this.classContent = classContent;
+    }
+
+    public String getStudyState() {
+        return studyState;
+    }
+
+    public void setStudyState(String studyState) {
+        this.studyState = studyState;
+    }
+
+    public Long getApproveStatus() {
+        return approveStatus;
+    }
+
+    public void setApproveStatus(Long approveStatus) {
+        this.approveStatus = approveStatus;
+    }
+}

+ 168 - 0
master/src/main/java/com/ruoyi/project/training/spec/domain/vo/TStSuccessorExportVO.java

@@ -0,0 +1,168 @@
+package com.ruoyi.project.training.spec.domain.vo;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+
+/**
+ * 继任者清单导出内容
+ *
+ * @author Wang Zi Wen
+ * @email wangggziwen@163.com
+ * @date 2022/05/26 09:36:15
+ */
+public class TStSuccessorExportVO extends BaseEntity
+{
+    @Excel(name = "员工编号")
+    private String staffId;
+
+    @Excel(name = "培养员工")
+    private String staffName;
+
+    @Excel(name = "当前岗位", dictType = "ACTUALPOST")
+    private String currentPost;
+
+    @Excel(name = "班值", dictType = "TEAM_DIVIDE")
+    private String team;
+
+    @Excel(name = "目标岗位", dictType = "ACTUALPOST")
+    private String futurePost;
+
+    @Excel(name = "导师")
+    private String mentorStaffName;
+
+    @Excel(name = "培训状态", dictType = "st_successor_status")
+    private Long state;
+
+    @Excel(name = "一季度")
+    private String quarterOne;
+
+    @Excel(name = "二季度")
+    private String quarterTwo;
+
+    @Excel(name = "三季度")
+    private String quarterThree;
+
+    @Excel(name = "四季度")
+    private String quarterFour;
+
+    @Excel(name = "年度")
+    private String year;
+
+    @Excel(name = "部门")
+    private String deptName;
+
+    @Excel(name = "备注")
+    private String remarks;
+
+    public String getStaffId() {
+        return staffId;
+    }
+
+    public void setStaffId(String staffId) {
+        this.staffId = staffId;
+    }
+
+    public String getStaffName() {
+        return staffName;
+    }
+
+    public void setStaffName(String staffName) {
+        this.staffName = staffName;
+    }
+
+    public String getCurrentPost() {
+        return currentPost;
+    }
+
+    public void setCurrentPost(String currentPost) {
+        this.currentPost = currentPost;
+    }
+
+    public String getTeam() {
+        return team;
+    }
+
+    public void setTeam(String team) {
+        this.team = team;
+    }
+
+    public String getFuturePost() {
+        return futurePost;
+    }
+
+    public void setFuturePost(String futurePost) {
+        this.futurePost = futurePost;
+    }
+
+    public String getMentorStaffName() {
+        return mentorStaffName;
+    }
+
+    public void setMentorStaffName(String mentorStaffName) {
+        this.mentorStaffName = mentorStaffName;
+    }
+
+    public Long getState() {
+        return state;
+    }
+
+    public void setState(Long state) {
+        this.state = state;
+    }
+
+    public String getQuarterOne() {
+        return quarterOne;
+    }
+
+    public void setQuarterOne(String quarterOne) {
+        this.quarterOne = quarterOne;
+    }
+
+    public String getQuarterTwo() {
+        return quarterTwo;
+    }
+
+    public void setQuarterTwo(String quarterTwo) {
+        this.quarterTwo = quarterTwo;
+    }
+
+    public String getQuarterThree() {
+        return quarterThree;
+    }
+
+    public void setQuarterThree(String quarterThree) {
+        this.quarterThree = quarterThree;
+    }
+
+    public String getQuarterFour() {
+        return quarterFour;
+    }
+
+    public void setQuarterFour(String quarterFour) {
+        this.quarterFour = quarterFour;
+    }
+
+    public String getYear() {
+        return year;
+    }
+
+    public void setYear(String year) {
+        this.year = year;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+}

+ 80 - 0
master/src/main/java/com/ruoyi/project/training/spec/domain/vo/TStYearPlanExportVO.java

@@ -0,0 +1,80 @@
+package com.ruoyi.project.training.spec.domain.vo;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+
+/**
+ * 年度培养计划导出内容
+ *
+ * @author Wang Zi Wen
+ * @email wangggziwen@163.com
+ * @date 2022/05/26 13:09:12
+ */
+public class TStYearPlanExportVO extends BaseEntity
+{
+    @Excel(name = "学员编号")
+    private String staffId;
+
+    @Excel(name = "学员")
+    private String staffName;
+
+    @Excel(name = "年度培训标题")
+    private String name;
+
+    @Excel(name = "年份")
+    private Long planYear;
+
+    @Excel(name = "部门")
+    private String deptName;
+
+    @Excel(name = "审核状态", dictType = "spec_training_approve_status")
+    private Long approveStatus;
+
+    public String getStaffId() {
+        return staffId;
+    }
+
+    public void setStaffId(String staffId) {
+        this.staffId = staffId;
+    }
+
+    public String getStaffName() {
+        return staffName;
+    }
+
+    public void setStaffName(String staffName) {
+        this.staffName = staffName;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public Long getApproveStatus() {
+        return approveStatus;
+    }
+
+    public void setApproveStatus(Long approveStatus) {
+        this.approveStatus = approveStatus;
+    }
+
+    public Long getPlanYear() {
+        return planYear;
+    }
+
+    public void setPlanYear(Long planYear) {
+        this.planYear = planYear;
+    }
+}

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

@@ -53,7 +53,7 @@
           v-hasPermi="['spec:plan:add']"
         >新增</el-button>
       </el-col>
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="success"
           icon="el-icon-edit"
@@ -72,7 +72,7 @@
           @click="handleDelete"
           v-hasPermi="['spec:plan:remove']"
         >删除</el-button>
-      </el-col>
+      </el-col> -->
         <el-col :span="1.5">
             <el-button
                     type="info"

+ 1 - 1
ui/src/views/training/spec/seasonalfeedback/index.vue

@@ -715,7 +715,7 @@ export default {
           { questionId: 17, answer:this.radio14 },
         ]
       }).then(() => {
-        this.msgSuccess("保存成功");
+        this.msgSucce=s("保存成功");
       });
     },
     /** 设置最后截止日期 */

+ 9 - 9
ui/src/views/training/spec/successor/index.vue

@@ -64,15 +64,15 @@
           v-hasPermi="['spec:successor:remove']"
         >删除</el-button>
       </el-col>
-        <el-col :span="1.5">
-            <el-button
-                    type="info"
-                    icon="el-icon-upload2"
-                    size="mini"
-                    @click="handleImport"
-                    v-hasPermi="['spec:successor:edit']"
-            >导入</el-button>
-        </el-col>
+      <!-- <el-col :span="1.5">
+          <el-button
+                  type="info"
+                  icon="el-icon-upload2"
+                  size="mini"
+                  @click="handleImport"
+                  v-hasPermi="['spec:successor:edit']"
+          >导入</el-button>
+      </el-col> -->
       <el-col :span="1.5">
         <el-button
           type="warning"

+ 9 - 9
ui/src/views/training/spec/yearplan/index.vue

@@ -73,15 +73,15 @@
           v-hasPermi="['spec:plan:remove']"
         >删除</el-button>
       </el-col>
-        <el-col :span="1.5">
-            <el-button
-                    type="info"
-                    icon="el-icon-upload2"
-                    size="mini"
-                    @click="handleImport"
-                    v-hasPermi="['spec:plan:edit']"
-            >导入</el-button>
-        </el-col>
+      <!-- <el-col :span="1.5">
+          <el-button
+                  type="info"
+                  icon="el-icon-upload2"
+                  size="mini"
+                  @click="handleImport"
+                  v-hasPermi="['spec:plan:edit']"
+          >导入</el-button>
+      </el-col> -->
       <el-col :span="1.5">
         <el-button
           type="warning"