|
@@ -2,6 +2,7 @@ package com.ruoyi.project.training.bccnew.controller;
|
|
|
|
|
|
import com.deepoove.poi.XWPFTemplate;
|
|
|
import com.deepoove.poi.data.*;
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.file.FileUploadUtils;
|
|
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
|
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
|
@@ -15,8 +16,8 @@ import com.ruoyi.project.system.service.ISysUserService;
|
|
|
import com.ruoyi.project.training.bccnew.domain.*;
|
|
|
import com.ruoyi.project.training.bccnew.service.*;
|
|
|
import io.jsonwebtoken.lang.Assert;
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.io.File;
|
|
@@ -25,10 +26,7 @@ import java.io.InputStream;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.CountDownLatch;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
import java.util.concurrent.Executors;
|
|
@@ -101,7 +99,7 @@ public class TTsNewController extends BaseController {
|
|
|
public TableDataInfo list(TTsNew tTsNew) {
|
|
|
startPage();
|
|
|
if ("1".equals(tTsNew.getIsStudent())) {
|
|
|
- tTsNew.setStaffId(getBaseStaffId());
|
|
|
+ tTsNew.setStaffId(getBaseStaffId());
|
|
|
}
|
|
|
List<TTsNew> list = tTsNewService.selectTTsNewList(tTsNew);
|
|
|
//线程池
|
|
@@ -204,10 +202,10 @@ public class TTsNewController extends BaseController {
|
|
|
@Log(title = "导师带徒", businessType = BusinessType.UPDATE)
|
|
|
@PutMapping
|
|
|
public AjaxResult edit(@RequestBody TTsNew tTsNew) {
|
|
|
- if (tTsNew.getPlanStatus()==0){
|
|
|
+ if (tTsNew.getPlanStatus() == 0) {
|
|
|
return toAjax(tTsNewService.updateTTsNew(tTsNew));
|
|
|
}
|
|
|
- return toAjax(tTsNewService.updateTTsNew(tTsNew,getUserId(),getNickName()));
|
|
|
+ return toAjax(tTsNewService.updateTTsNew(tTsNew, getUserId(), getNickName()));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -245,13 +243,21 @@ public class TTsNewController extends BaseController {
|
|
|
String mentorAgreementWordPath = this.genMentorAgreementWord(tTsNew);
|
|
|
// 生成word - Target Plan
|
|
|
String targetPlanWordPath = this.genTargetPlanWord(tTsNew);
|
|
|
- // 生成word - Appraisal Form
|
|
|
- String appraisalFormWordPath = this.genAppraisalFormWord(tTsNew);
|
|
|
// 更新文件地址
|
|
|
tTsNew.setMentorAgreementWordPath(mentorAgreementWordPath);
|
|
|
tTsNew.setTargetPlanWordPath(targetPlanWordPath);
|
|
|
+// tTsNew.setAppraisalFormWordPath(appraisalFormWordPath);
|
|
|
+ tTsNewService.updateTTsNew(tTsNew, getUserId(), getNickName());
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/genAppraisalFormWord/{newId}")
|
|
|
+ public AjaxResult genAppraisalFormWord(@PathVariable Long newId) throws IOException {
|
|
|
+ // 生成word - Appraisal Form
|
|
|
+ TTsNew tTsNew = tTsNewService.selectTTsNewById(newId);
|
|
|
+ String appraisalFormWordPath = this.genAppraisalFormWord(tTsNew);
|
|
|
tTsNew.setAppraisalFormWordPath(appraisalFormWordPath);
|
|
|
- tTsNewService.updateTTsNew(tTsNew,getUserId(),getNickName());
|
|
|
+ tTsNewService.updateTTsNew(tTsNew, getUserId(), getNickName());
|
|
|
+ return AjaxResult.success(appraisalFormWordPath);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -343,6 +349,11 @@ public class TTsNewController extends BaseController {
|
|
|
String staffId = tTsNew.getStaffId();
|
|
|
SysUser mentor = sysUserService.selectUserByStaffId(mentorStaffId);
|
|
|
SysUser apprentice = sysUserService.selectUserByStaffId(staffId);
|
|
|
+ List<TTsApprove> tTsApproves = tsApproveService.selectTTsApproveByNewId(tTsNew.getNewId());
|
|
|
+ if (CollectionUtils.isNotEmpty(tTsApproves)) {
|
|
|
+ SysUser manager = sysUserService.selectUserById(Long.valueOf(tTsApproves.get(0).getApprover()));
|
|
|
+ params.put("mgrSign", Pictures.ofLocal(fileName(manager.getSignUrl())).size(100, 40).create());
|
|
|
+ }
|
|
|
params.put("tutorSignature", Pictures.ofLocal(fileName(mentor.getSignUrl())).size(100, 40).create());
|
|
|
params.put("traineeSignature", Pictures.ofLocal(fileName(apprentice.getSignUrl())).size(100, 40).create());
|
|
|
params.put("tutor", Texts.of(mentor.getNickName()).create());
|
|
@@ -427,7 +438,7 @@ public class TTsNewController extends BaseController {
|
|
|
params.put("traineeSignature", Pictures.ofLocal(fileName(apprentice.getSignUrl())).size(100, 40).create());
|
|
|
params.put("tutor", Texts.of(mentor.getNickName()).create());
|
|
|
params.put("trainee", Texts.of(apprentice.getNickName()).create());
|
|
|
- RowRenderData[] planList = null;
|
|
|
+ List<RowRenderData> planList = new ArrayList<>();
|
|
|
String post = "";
|
|
|
Long planType = tTsNew.getPlanType();
|
|
|
Long newId = tTsNew.getNewId();
|
|
@@ -436,52 +447,85 @@ public class TTsNewController extends BaseController {
|
|
|
TTsLjplan ljplan = new TTsLjplan();
|
|
|
ljplan.setNewId(newId);
|
|
|
List<TTsLjplan> tTsLjplans = tTsLjplanService.selectTTsLjplanListByNewId(ljplan);
|
|
|
- planList = new RowRenderData[tTsLjplans.size() + 2];
|
|
|
- planList[0] = Rows.create("Training Topics 培训主题", "", "Training Date 培训日期", "Training Effectiveness Evaluation* 培训效果评价*", "Training Effectiveness Acknowledgement 培训效果确认", "", "Mentor comment 导师意见");
|
|
|
- planList[1] = Rows.create("", "", "", "", "Trainee 学徒", "Tutor 导师", "Proceed to next topic or not 是否转至下一主题");
|
|
|
- int i = 1;
|
|
|
+ planList.add(Rows.create("Training Topics 培训主题", "", "Training Date 培训日期", "Training Effectiveness Evaluation* 培训效果评价*", "Training Effectiveness Acknowledgement 培训效果确认", "", "Mentor comment 导师意见"));
|
|
|
+ planList.add(Rows.create("", "", "", "", "Trainee 学徒", "Tutor 导师", "Proceed to next topic or not 是否转至下一主题"));
|
|
|
for (TTsLjplan plan : tTsLjplans) {
|
|
|
- i++;
|
|
|
- planList[i] = Rows.create(plan.getDetailPlan(), plan.getTopic(), "", "", "", "", "");
|
|
|
+ String dateStr = plan.getCourseDate()==null?"": formatter.format(plan.getCourseDate());
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore1())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr, plan.getScore1(), apprentice.getNickName(), mentor.getNickName(), plan.getScore1().equals("好") ? "是" : "否"));
|
|
|
+ }else {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr,"", apprentice.getNickName(), mentor.getNickName(), ""));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore2())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr, plan.getScore2(), apprentice.getNickName(), mentor.getNickName(), plan.getScore2().equals("好") ? "是" : "否"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore3())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), formatter.format(plan.getCourseDate()), plan.getScore3(), apprentice.getNickName(), mentor.getNickName(), plan.getScore3().equals("好") ? "是" : "否"));
|
|
|
+ }
|
|
|
}
|
|
|
} else if (planType == 2L) {
|
|
|
post = "压缩";
|
|
|
TTsYsplan ysplan = new TTsYsplan();
|
|
|
ysplan.setNewId(newId);
|
|
|
List<TTsYsplan> tTsYsplans = tTsYsplanService.selectTTsYsplanListByNewId(ysplan);
|
|
|
- planList = new RowRenderData[tTsYsplans.size() + 2];
|
|
|
- planList[0] = Rows.create("Training Topics 培训主题", "", "Training Date 培训日期", "Training Effectiveness Evaluation* 培训效果评价*", "Training Effectiveness Acknowledgement 培训效果确认", "", "Mentor comment 导师意见");
|
|
|
- planList[1] = Rows.create("", "", "", "", "Trainee 学徒", "Tutor 导师", "Proceed to next topic or not 是否转至下一主题");
|
|
|
- int i = 1;
|
|
|
+ planList.add(Rows.create("Training Topics 培训主题", "", "Training Date 培训日期", "Training Effectiveness Evaluation* 培训效果评价*", "Training Effectiveness Acknowledgement 培训效果确认", "", "Mentor comment 导师意见"));
|
|
|
+ planList.add(Rows.create("", "", "", "", "Trainee 学徒", "Tutor 导师", "Proceed to next topic or not 是否转至下一主题"));
|
|
|
+
|
|
|
for (TTsYsplan plan : tTsYsplans) {
|
|
|
- i++;
|
|
|
- planList[i] = Rows.create(plan.getDetailPlan(), plan.getTopic(), "", "", "", "", "");
|
|
|
+ String dateStr = plan.getCourseDate()==null?"": formatter.format(plan.getCourseDate());
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore1())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr, plan.getScore1(), apprentice.getNickName(), mentor.getNickName(), plan.getScore1().equals("好") ? "是" : "否"));
|
|
|
+ }else {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr,"", apprentice.getNickName(), mentor.getNickName(), ""));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore2())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr, plan.getScore2(), apprentice.getNickName(), mentor.getNickName(), plan.getScore2().equals("好") ? "是" : "否"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore3())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), formatter.format(plan.getCourseDate()), plan.getScore3(), apprentice.getNickName(), mentor.getNickName(), plan.getScore3().equals("好") ? "是" : "否"));
|
|
|
+ }
|
|
|
}
|
|
|
} else if (planType == 3L) {
|
|
|
post = "分离";
|
|
|
TTsFlplan flplan = new TTsFlplan();
|
|
|
flplan.setNewId(newId);
|
|
|
List<TTsFlplan> tTsFlplans = tTsFlplanService.selectTTsFlplanListByNewId(flplan);
|
|
|
- planList = new RowRenderData[tTsFlplans.size() + 2];
|
|
|
- planList[0] = Rows.create("Training Topics 培训主题", "", "Training Date 培训日期", "Training Effectiveness Evaluation* 培训效果评价*", "Training Effectiveness Acknowledgement 培训效果确认", "", "Mentor comment 导师意见");
|
|
|
- planList[1] = Rows.create("", "", "", "", "Trainee 学徒", "Tutor 导师", "Proceed to next topic or not 是否转至下一主题");
|
|
|
- int i = 1;
|
|
|
+ planList.add(Rows.create("Training Topics 培训主题", "", "Training Date 培训日期", "Training Effectiveness Evaluation* 培训效果评价*", "Training Effectiveness Acknowledgement 培训效果确认", "", "Mentor comment 导师意见"));
|
|
|
+ planList.add(Rows.create("", "", "", "", "Trainee 学徒", "Tutor 导师", "Proceed to next topic or not 是否转至下一主题"));
|
|
|
for (TTsFlplan plan : tTsFlplans) {
|
|
|
- i++;
|
|
|
- planList[i] = Rows.create(plan.getDetailPlan(), plan.getTopic(), "", "", "", "", "");
|
|
|
+ String dateStr = plan.getCourseDate()==null?"": formatter.format(plan.getCourseDate());
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore1())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr, plan.getScore1(), apprentice.getNickName(), mentor.getNickName(), plan.getScore1().equals("好") ? "是" : "否"));
|
|
|
+ }else {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr,"", apprentice.getNickName(), mentor.getNickName(), ""));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore2())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr, plan.getScore2(), apprentice.getNickName(), mentor.getNickName(), plan.getScore2().equals("好") ? "是" : "否"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore3())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), formatter.format(plan.getCourseDate()), plan.getScore3(), apprentice.getNickName(), mentor.getNickName(), plan.getScore3().equals("好") ? "是" : "否"));
|
|
|
+ }
|
|
|
}
|
|
|
} else if (planType == 4L) {
|
|
|
post = "芳烃";
|
|
|
TTsFtplan ftplan = new TTsFtplan();
|
|
|
ftplan.setNewId(newId);
|
|
|
List<TTsFtplan> tTsFtplans = tTsFtplanService.selectTTsFtplanListByNewId(ftplan);
|
|
|
- planList = new RowRenderData[tTsFtplans.size() + 2];
|
|
|
- planList[0] = Rows.create("Training Topics 培训主题", "", "Training Date 培训日期", "Training Effectiveness Evaluation* 培训效果评价*", "Training Effectiveness Acknowledgement 培训效果确认", "", "Mentor comment 导师意见");
|
|
|
- planList[1] = Rows.create("", "", "", "", "Trainee 学徒", "Tutor 导师", "Proceed to next topic or not 是否转至下一主题");
|
|
|
- int i = 1;
|
|
|
+ planList.add(Rows.create("Training Topics 培训主题", "", "Training Date 培训日期", "Training Effectiveness Evaluation* 培训效果评价*", "Training Effectiveness Acknowledgement 培训效果确认", "", "Mentor comment 导师意见"));
|
|
|
+ planList.add(Rows.create("", "", "", "", "Trainee 学徒", "Tutor 导师", "Proceed to next topic or not 是否转至下一主题"));
|
|
|
for (TTsFtplan plan : tTsFtplans) {
|
|
|
- i++;
|
|
|
- planList[i] = Rows.create(plan.getDetailPlan(), plan.getTopic(), "", "", "", "", "");
|
|
|
+ String dateStr = plan.getCourseDate()==null?"": formatter.format(plan.getCourseDate());
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore1())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr, plan.getScore1(), apprentice.getNickName(), mentor.getNickName(), plan.getScore1().equals("好") ? "是" : "否"));
|
|
|
+ }else {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr,"", apprentice.getNickName(), mentor.getNickName(), ""));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore2())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), dateStr, plan.getScore2(), apprentice.getNickName(), mentor.getNickName(), plan.getScore2().equals("好") ? "是" : "否"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(plan.getScore3())) {
|
|
|
+ planList.add(Rows.create(plan.getDetailPlan(), plan.getTopic(), formatter.format(plan.getCourseDate()), plan.getScore3(), apprentice.getNickName(), mentor.getNickName(), plan.getScore3().equals("好") ? "是" : "否"));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
params.put("tutorPost", Texts.of(post).create());
|
|
@@ -491,7 +535,7 @@ public class TTsNewController extends BaseController {
|
|
|
.map(MergeCellRule.Grid.of(0, 2), MergeCellRule.Grid.of(1, 2))
|
|
|
.map(MergeCellRule.Grid.of(0, 4), MergeCellRule.Grid.of(0, 5))
|
|
|
.map(MergeCellRule.Grid.of(0, 3), MergeCellRule.Grid.of(1, 3)).build();
|
|
|
- params.put("planList", Tables.of(planList).mergeRule(rule).create());
|
|
|
+ params.put("planList", Tables.of(planList.toArray(new RowRenderData[0])).mergeRule(rule).create());
|
|
|
// 渲染文本
|
|
|
return params;
|
|
|
}
|