123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538 |
- package com.ruoyi.project.apply.controller;
- import com.deepoove.poi.XWPFTemplate;
- import com.deepoove.poi.data.Pictures;
- import com.deepoove.poi.data.TextRenderData;
- import com.deepoove.poi.data.Texts;
- import com.deepoove.poi.data.style.Style;
- import com.ruoyi.common.utils.DateUtils;
- 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;
- import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
- import com.ruoyi.framework.config.RuoYiConfig;
- import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
- import com.ruoyi.framework.web.controller.BaseController;
- import com.ruoyi.framework.web.domain.AjaxResult;
- import com.ruoyi.framework.web.page.TableDataInfo;
- import com.ruoyi.project.apply.domain.TApplySafetychange;
- import com.ruoyi.project.apply.service.ITApplySafetychangeService;
- import com.ruoyi.project.approve.damain.DevTask;
- import com.ruoyi.project.listener.apply.change.ChangeEndFailListener;
- import com.ruoyi.project.listener.apply.change.ChangeEndSuccessListener;
- import com.ruoyi.project.listener.apply.change.ChangeFlowListener;
- import com.ruoyi.project.listener.apply.change.ChangeNextTaskListener;
- import com.ruoyi.project.plant.domain.TStaffmgr;
- import com.ruoyi.project.system.domain.SysUser;
- import com.ruoyi.project.system.service.ISysUserService;
- import io.jsonwebtoken.lang.Assert;
- import org.activiti.engine.ProcessEngine;
- import org.activiti.engine.ProcessEngines;
- import org.activiti.engine.RuntimeService;
- import org.activiti.engine.TaskService;
- import org.activiti.engine.impl.identity.Authentication;
- import org.activiti.engine.runtime.ProcessInstance;
- import org.activiti.engine.task.Task;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.*;
- import java.io.File;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 组织保护措施状态变更申请Controller
- *
- * @author ruoyi
- * @date 2023-02-09
- */
- @RestController
- @RequestMapping("/apply/safetychange")
- public class TApplySafetychangeController extends BaseController {
- @Autowired
- private ITApplySafetychangeService tApplySafetychangeService;
- @Autowired
- private RuntimeService runtimeService;
- @Autowired
- private ISysUserService userService;
- @Autowired
- private TaskService taskService;
- /**
- * 查询组织保护措施状态变更申请列表
- */
- @PreAuthorize("@ss.hasPermi('apply:safetychange:list')")
- @GetMapping("/list")
- public TableDataInfo list(TApplySafetychange tApplySafetychange) {
- startPage();
- List<TApplySafetychange> list = tApplySafetychangeService.selectTApplySafetychangeList(tApplySafetychange);
- return getDataTable(list);
- }
- @GetMapping("/listChangeDescribe")
- public AjaxResult listChangeDescribe(TApplySafetychange tApplySafetychange) {
- List<TApplySafetychange> list = tApplySafetychangeService.selectChangeDescribe(tApplySafetychange);
- return AjaxResult.success(list);
- }
- /**
- * 导出组织保护措施状态变更申请列表
- */
- @PreAuthorize("@ss.hasPermi('apply:safetychange:export')")
- @Log(title = "组织保护措施状态变更申请", businessType = BusinessType.EXPORT)
- @GetMapping("/export")
- public AjaxResult export(TApplySafetychange tApplySafetychange) {
- List<TApplySafetychange> list = tApplySafetychangeService.selectTApplySafetychangeList(tApplySafetychange);
- ExcelUtil<TApplySafetychange> util = new ExcelUtil<TApplySafetychange>(TApplySafetychange.class);
- return util.exportExcel(list, "safetychange");
- }
- /**
- * 获取组织保护措施状态变更申请详细信息
- */
- // @PreAuthorize("@ss.hasPermi('apply:safetychange:query')")
- @GetMapping(value = "/{id}")
- public AjaxResult getInfo(@PathVariable("id") Long id) {
- return AjaxResult.success(tApplySafetychangeService.selectTApplySafetychangeById(id));
- }
- /**
- * 新增组织保护措施状态变更申请
- */
- @PreAuthorize("@ss.hasPermi('apply:safetychange:add')")
- @Log(title = "组织保护措施状态变更申请", businessType = BusinessType.INSERT)
- @RepeatSubmit
- @PostMapping
- public AjaxResult add(@RequestBody TApplySafetychange tApplySafetychange) {
- String userId = getUserId().toString();
- tApplySafetychange.setApplicant(userId);
- tApplySafetychange.setApplicantName(getNickName());
- tApplySafetychange.setApplicationTime(new Date());
- tApplySafetychange.setCreatedate(new Date());
- tApplySafetychange.setCreaterCode(getUserId().toString());
- String safaerIds = tApplySafetychange.getSafaer();
- tApplySafetychange.setSafaer(null);
- // tApplySafetychange.setConfirmer(tApplySafetychange.getSafaer());
- // tApplySafetychange.setConfirmerName(tApplySafetychange.getSafaerName());
- if (StringUtils.isNotEmpty(tApplySafetychange.getRemarks()) && (!tApplySafetychange.getRemarks().endsWith(";") || !tApplySafetychange.getRemarks().endsWith(";")))
- tApplySafetychange.setRemarks("申请人-" + getNickName() + ":" + tApplySafetychange.getRemarks() + ";");
- tApplySafetychangeService.insertTApplySafetychange(tApplySafetychange);
- // 开始申请流程
- tApplySafetychange.setApNo(DateUtils.dateTimeNow() + userId);
- long businessKey = tApplySafetychange.getId();
- //开始工作流、监听
- Authentication.setAuthenticatedUserId(userId);//设置当前申请人
- Map<String, Object> variables = new HashMap<>();
- variables.put("applyuser", userId);
- StringBuilder confirmer = new StringBuilder();
- for (String staffId : safaerIds.split(",")) {
- SysUser user = userService.selectUserByStaffId(staffId);
- confirmer.append(user.getUserId()).append(",");
- }
- if (StringUtils.isNotEmpty(confirmer.toString())) {
- confirmer = new StringBuilder(confirmer.substring(0, confirmer.length() - 1));
- }
- variables.put("confirmer", confirmer.toString());
- variables.put("executor", tApplySafetychange.getExecutor());
- variables.put("safaer", confirmer.toString());
- //查询经理
- TStaffmgr tStaffmgr = new TStaffmgr();
- tStaffmgr.setActualposts("24,26");
- StringBuilder approvers = new StringBuilder();
- for (SysUser user : userService.selectUserPost(tStaffmgr)) {
- approvers.append(user.getUserId().toString()).append(",");
- }
- if (StringUtils.isNotEmpty(approvers.toString())) {
- approvers = new StringBuilder(approvers.substring(0, approvers.length() - 1));
- }
- variables.put("approver", approvers.toString());
- tStaffmgr = new TStaffmgr();
- tStaffmgr.setActualposts("12");
- StringBuilder changeExecutors = new StringBuilder();
- for (SysUser user : userService.selectUserPost(tStaffmgr)) {
- changeExecutors.append(user.getUserId().toString()).append(",");
- }
- if (StringUtils.isNotEmpty(changeExecutors.toString())) {
- changeExecutors = new StringBuilder(changeExecutors.substring(0, changeExecutors.length() - 1));
- }
- variables.put("changeExecutor", changeExecutors.toString());
- variables.put("changeNextTaskListener", new ChangeNextTaskListener());
- variables.put("changeEndFailListener", new ChangeEndFailListener());
- variables.put("changeEndSuccessListener", new ChangeEndSuccessListener());
- variables.put("changeFlowListener", new ChangeFlowListener());
- //采用key来启动流程定义并设置流程变量,返回流程实例
- ProcessInstance pi = runtimeService.startProcessInstanceByKey("safetychange", String.valueOf(businessKey), variables);
- logger.info("流程定义id:" + pi.getProcessDefinitionId());
- logger.info("流程实例id:" + pi.getProcessInstanceId());
- tApplySafetychange.setProcessId(pi.getProcessInstanceId());
- tApplySafetychangeService.updateTApplySafetychange(tApplySafetychange);
- // 申请人申请直接通过
- ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
- TaskService taskService = processEngine.getTaskService();
- Task task = taskService.createTaskQuery().processInstanceId(pi.getProcessInstanceId()).active().singleResult();
- String taskId = task.getId();
- processEngine.getTaskService().claim(taskId, getUserId().toString());
- taskService.addComment(taskId, pi.getProcessInstanceId(), "");
- Map<String, Object> param = new HashMap<>();
- param.put("condition", "1");
- taskService.complete(taskId, param);
- return toAjax(1);
- }
- @Log(title = "组织保护措施状态变更申请审核处理", businessType = BusinessType.UPDATE)
- @RepeatSubmit
- @PutMapping("/handle")
- public AjaxResult handle(@RequestBody DevTask devTask) {
- TApplySafetychange form = devTask.getSafetychange();
- //使用任务服务完成任务(提交任务)
- String taskId = devTask.getTaskId();
- // 使用任务id,获取任务对象,获取流程实例id
- Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
- //利用任务对象,获取流程实例id
- String processInstancesId = task.getProcessInstanceId();
- TApplySafetychange tApplySafetychange = tApplySafetychangeService.selectTApplySafetychangeById(form.getId());
- String taskName = task.getName();//实例名
- // 添加备注
- String remarks = StringUtils.isEmpty(tApplySafetychange.getRemarks()) ? "" : tApplySafetychange.getRemarks();
- if (taskName.contains("安全评估人")) {
- taskName = "安全评估人";
- }
- //流程审批意见
- String symbol = "";
- String text = "";
- if (StringUtils.isNotEmpty(form.getRemarks())) {
- text = form.getRemarks();
- symbol = ",";
- form.setRemarks(remarks + taskName + "-" + getNickName() + ":" + form.getRemarks() + ";");
- } else
- form.setRemarks("");
- // 判断流程
- if ("1".equals(devTask.getCondition())) {
- devTask.setComment("通过" + symbol + text);
- } else if ("0".equals(devTask.getCondition())) {
- devTask.setComment("拒绝" + symbol + text);
- form.setStatus(1L);
- form.setApproveStatus("3");
- } else if ("2".equals(devTask.getCondition())) {
- devTask.setComment("驳回" + symbol + text);
- }
- // 根据实例名判断当前流程节点
- Map<String, Object> param = new HashMap<>();
- switch (task.getName()) {
- case "安全评估人1":
- form.setSafaer(getUserId().toString());
- form.setSafaerName(getNickName());
- form.setSafaTime(new Date());
- break;
- case "批准人":
- form.setApprover(getUserId().toString());
- form.setApproverName(getNickName());
- form.setApproveTime(new Date());
- if ("1".equals(devTask.getCondition()))
- form.setApproveStatus("2");
- break;
- case "措施执行人":
- form.setExecutionTime(new Date());
- break;
- case "措施确认人":
- form.setConfirmerName(getNickName());
- form.setConfirmer(getUserId().toString());
- form.setConfirmTime(new Date());
- break;
- case "变更执行人":
- form.setChangeExecutor(getUserId().toString());
- form.setChangeExecutorName(getNickName());
- form.setChangeExecutorTime(new Date());
- break;
- case "安全评估人2":
- TStaffmgr tStaffmgr = new TStaffmgr();
- tStaffmgr.setActualposts("12");
- StringBuilder resetConfirmer1 = new StringBuilder();
- for (SysUser user : userService.selectUserPost(tStaffmgr)) {
- resetConfirmer1.append(user.getUserId().toString()).append(",");
- }
- if (StringUtils.isNotEmpty(resetConfirmer1.toString())) {
- resetConfirmer1 = new StringBuilder(resetConfirmer1.substring(0, resetConfirmer1.length() - 1));
- }
- param.put("resetConfirmer1", resetConfirmer1.toString());
- break;
- case "确认人1":
- param.put("resetConfirmer2", tApplySafetychange.getConfirmer());
- form.setResetConfirmer1(getUserId().toString());
- form.setResetConfirmTime1(new Date());
- form.setResetConfirmerName1(getNickName());
- break;
- case "确认人2":
- form.setResetConfirmer2(getUserId().toString());
- form.setResetConfirmTime2(new Date());
- form.setResetConfirmerName2(getNickName());
- form.setStatus(1L);
- break;
- }
- param.put("condition", devTask.getCondition());
- ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
- TaskService taskService = processEngine.getTaskService();
- //认领任务
- processEngine.getTaskService().claim(taskId, getUserId().toString());
- taskService.addComment(taskId, processInstancesId, devTask.getComment());
- taskService.complete(taskId, param);
- // 更新任务
- tApplySafetychangeService.updateTApplySafetychange(form);
- return AjaxResult.success();
- }
- /**
- * 修改组织保护措施状态变更申请
- */
- @PreAuthorize("@ss.hasPermi('apply:safetychange:edit')")
- @Log(title = "组织保护措施状态变更申请", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody TApplySafetychange tApplySafetychange) {
- tApplySafetychange.setUpdatedate(new Date());
- tApplySafetychange.setUpdaterCode(getUserId());
- return toAjax(tApplySafetychangeService.updateTApplySafetychange(tApplySafetychange));
- }
- /**
- * 删除组织保护措施状态变更申请
- */
- @PreAuthorize("@ss.hasPermi('apply:safetychange:remove')")
- @Log(title = "组织保护措施状态变更申请", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
- public AjaxResult remove(@PathVariable Long[] ids) {
- return toAjax(tApplySafetychangeService.deleteTApplySafetychangeByIds(ids));
- }
- /**
- * @param id
- * @return
- * @throws IOException
- */
- @GetMapping("/wordView/{id}")
- public AjaxResult wordView(@PathVariable Long id) throws IOException {
- //根据ID查询并生成
- String url = PreView(id);
- return AjaxResult.success(url);
- }
- /**
- * @param id 生成文件名
- * @return
- * @throws IOException
- */
- public String PreView(Long id) throws IOException {
- //根据ID查询并生成
- TApplySafetychange tApplySafetychange = tApplySafetychangeService.selectTApplySafetychangeById(id);
- String url = this.createApplySafetychangeWord(tApplySafetychange);
- return url;
- }
- /**
- * 生成word
- */
- public String createApplySafetychangeWord(TApplySafetychange tApplySafetychange) throws IOException {
- //生成word
- //渲染文本
- Map<String, Object> params = getWordData(tApplySafetychange);
- // 模板路径
- String templatePath = "static/word/apply/applySafetychange.docx";
- // 生成word的路径
- String fileDir = RuoYiConfig.getProfile() + "/" + "apply/applySafetychange";
- // 生成word的文件名称
- String fileName = tApplySafetychange.getId() + ".docx";
- String wordPath = this.createWord(templatePath, fileDir, fileName, params);
- return wordPath;
- }
- /**
- * 获取word数据
- */
- public Map<String, Object> getWordData(TApplySafetychange tApplySafetychange) {
- Map<String, Object> params = new HashMap<>();
- params.put("changeDescribe", Texts.of(tApplySafetychange.getChangeDescribe()).fontSize(10).bold().create());
- params.put("changeReason", Texts.of(tApplySafetychange.getChangeReason()).fontSize(10).bold().create());
- if (StringUtils.isNotEmpty(tApplySafetychange.getApplicant())) {//申请人
- SysUser sysUser = userService.selectUserById(Long.parseLong(tApplySafetychange.getApplicant()));
- if (sysUser.getSignUrl() != null && new File(fileName(sysUser.getSignUrl())).exists()) {
- params.put("applicantP", Pictures.ofLocal(fileName(sysUser.getSignUrl())).size(50, 20).create());
- } else {
- params.put("applicant", Texts.of(sysUser.getNickName()).fontSize(10).bold().create());
- }
- }
- if (tApplySafetychange.getApplicationTime() != null) {//申请时间
- params.put("applicationTime", Texts.of(DateUtils.dateTimeMin(tApplySafetychange.getApplicationTime())).fontSize(9).bold().create());
- }
- params.put("safa", Texts.of(tApplySafetychange.getSafa()).fontSize(10).bold().create());
- if (StringUtils.isNotEmpty(tApplySafetychange.getSafaer())) {//安全评估人
- SysUser sysUser = userService.selectUserById(Long.parseLong(tApplySafetychange.getSafaer()));
- if (sysUser.getSignUrl() != null && new File(fileName(sysUser.getSignUrl())).exists()) {
- params.put("safaerP", Pictures.ofLocal(fileName(sysUser.getSignUrl())).size(50, 20).create());
- } else {
- params.put("safaer", Texts.of(sysUser.getNickName()).fontSize(10).bold().create());
- }
- }
- if (tApplySafetychange.getSafaTime() != null) {//安全评估时间
- params.put("safaTime", Texts.of(DateUtils.dateTimeMin(tApplySafetychange.getSafaTime())).fontSize(9).bold().create());
- }
- if (StringUtils.isNotEmpty(tApplySafetychange.getApprover())) {//批准人
- SysUser sysUser = userService.selectUserById(Long.parseLong(tApplySafetychange.getApprover()));
- if (sysUser.getSignUrl() != null && new File(fileName(sysUser.getSignUrl())).exists()) {
- params.put("approverP", Pictures.ofLocal(fileName(sysUser.getSignUrl())).size(50, 20).create());
- } else {
- params.put("approver", Texts.of(sysUser.getNickName()).fontSize(10).bold().create());
- }
- }
- if (tApplySafetychange.getApplicationTime() != null) {//批准时间
- params.put("approveTime", Texts.of(DateUtils.dateTimeMin(tApplySafetychange.getApplicationTime())).fontSize(9).bold().create());
- }
- if (StringUtils.isNotEmpty(tApplySafetychange.getExecutor())) {//临时安全措施执行人
- SysUser sysUser = userService.selectUserById(Long.parseLong(tApplySafetychange.getExecutor()));
- if (sysUser.getSignUrl() != null && new File(fileName(sysUser.getSignUrl())).exists()) {
- params.put("exeP", Pictures.ofLocal(fileName(sysUser.getSignUrl())).size(50, 20).create());
- } else {
- params.put("exe", Texts.of(sysUser.getNickName()).fontSize(10).bold().create());
- }
- }
- if (tApplySafetychange.getExecutionTime() != null) {//临时安全措施执行(时间)
- params.put("exeT", Texts.of(DateUtils.dateTimeMin(tApplySafetychange.getExecutionTime())).fontSize(9).bold().create());
- }
- if (StringUtils.isNotEmpty(tApplySafetychange.getConfirmer())) {//临时安全措施确认人
- SysUser sysUser = userService.selectUserById(Long.parseLong(tApplySafetychange.getConfirmer()));
- if (sysUser.getSignUrl() != null && new File(fileName(sysUser.getSignUrl())).exists()) {
- params.put("conP", Pictures.ofLocal(fileName(sysUser.getSignUrl())).size(50, 20).create());
- } else {
- params.put("con", Texts.of(sysUser.getNickName()).fontSize(10).bold().create());
- }
- }
- if (tApplySafetychange.getConfirmTime() != null) {//临时安全措施确认(时间)
- params.put("conT", Texts.of(DateUtils.dateTimeMin(tApplySafetychange.getConfirmTime())).fontSize(9).bold().create());
- }
- params.put("changeExecution", Texts.of(tApplySafetychange.getChangeExecution()).fontSize(10).bold().create());
- if (StringUtils.isNotEmpty(tApplySafetychange.getChangeExecutor())) {//执行人
- SysUser sysUser = userService.selectUserById(Long.parseLong(tApplySafetychange.getChangeExecutor()));
- if (sysUser.getSignUrl() != null && new File(fileName(sysUser.getSignUrl())).exists()) {
- params.put("cEP", Pictures.ofLocal(fileName(sysUser.getSignUrl())).size(50, 20).create());
- } else {
- params.put("cE", Texts.of(sysUser.getNickName()).fontSize(10).bold().create());
- }
- }
- if (tApplySafetychange.getChangeExecutorTime() != null) {//执行时间)
- params.put("cET", Texts.of(DateUtils.dateTimeMin(tApplySafetychange.getChangeExecutorTime())).fontSize(9).bold().create());
- }
- getCheck(params, tApplySafetychange.getResetConfirm(), "resetConfirm1", "resetConfirm2");
- if (StringUtils.isNotEmpty(tApplySafetychange.getResetConfirmer1())) {//状态恢复,确认人1
- SysUser sysUser = userService.selectUserById(Long.parseLong(tApplySafetychange.getResetConfirmer1()));
- if (sysUser.getSignUrl() != null && new File(fileName(sysUser.getSignUrl())).exists()) {
- params.put("resetConfirmer1P", Pictures.ofLocal(fileName(sysUser.getSignUrl())).size(50, 20).create());
- } else {
- params.put("resetConfirmer1", Texts.of(sysUser.getNickName()).fontSize(10).bold().create());
- }
- }
- if (tApplySafetychange.getResetConfirmTime1() != null) {//状态恢复,确认人1时间)
- params.put("resetConfirmTime1", Texts.of(DateUtils.dateTimeMin(tApplySafetychange.getResetConfirmTime1())).fontSize(9).bold().create());
- }
- if (StringUtils.isNotEmpty(tApplySafetychange.getResetConfirmer2())) {//状态恢复,确认人2
- SysUser sysUser = userService.selectUserById(Long.parseLong(tApplySafetychange.getResetConfirmer2()));
- if (sysUser.getSignUrl() != null && new File(fileName(sysUser.getSignUrl())).exists()) {
- params.put("resetConfirmer2P", Pictures.ofLocal(fileName(sysUser.getSignUrl())).size(50, 20).create());
- } else {
- params.put("resetConfirmer2", Texts.of(sysUser.getNickName()).fontSize(10).bold().create());
- }
- }
- if (tApplySafetychange.getResetConfirmTime2() != null) {//状态恢复,确认人2时间)
- params.put("resetConfirmTime2", Texts.of(DateUtils.dateTimeMin(tApplySafetychange.getResetConfirmTime2())).fontSize(9).bold().create());
- }
- getCheck(params, tApplySafetychange.getRevokeConfirm(), "revoke1", "revoke2");
- getCheck(params, tApplySafetychange.getRevokeConfirm(), "revoke3");
- params.put("remarks", Texts.of(tApplySafetychange.getRemarks()).fontSize(10).bold().create());
- // 渲染文本
- return params;
- }
- /**
- * @param templatePath word模板文件路径
- * @param fileDir 生成的文件存放地址
- * @param fileName 生成的文件名
- * @param paramMap 参数集合
- * @return 返回word生成的路径
- */
- public String createWord(String templatePath, String fileDir, String fileName, Map<String, Object> paramMap) throws IOException {
- Assert.notNull(templatePath, "word模板文件路径不能为空");
- Assert.notNull(fileDir, "生成的文件存放地址不能为空");
- Assert.notNull(fileName, "生成的文件名不能为空");
- File dir = new File(fileDir);
- if (!dir.exists()) {
- logger.info("目录不存在,创建文件夹{}!", fileDir);
- dir.mkdirs();
- }
- fileName = fileName.replaceAll("/", "_"); //替换文件中敏感字段
- logger.info("目录文件{}!", fileName);
- String filePath = fileDir + "/" + fileName;
- logger.info("目录{}!", filePath);
- // 读取模板渲染参数
- InputStream is = getClass().getClassLoader().getResourceAsStream(templatePath);
- XWPFTemplate template = XWPFTemplate.compile(is).render(paramMap);
- try {
- // 将模板参数写入路径
- template.writeToFile(filePath);
- template.close();
- } catch (Exception e) {
- logger.error("生成word异常{}", e.getMessage());
- e.printStackTrace();
- }
- String pathFileName = FileUploadUtils.getPathFileName(RuoYiConfig.getFilePath("/" + "apply/applySafetychange"), fileName);
- return pathFileName;
- }
- // 勾选框判断渲染
- public void getCheck(Map<String, Object> params, String value, String check1, String check2) {
- if ("是".equals(value)) {
- params.put(check1, new TextRenderData("\u00FE", new Style("Wingdings", 9)));
- params.put(check2, new TextRenderData("\u006F", new Style("Wingdings", 9)));
- } else if ("否".equals(value)) {
- params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 9)));
- params.put(check2, new TextRenderData("\u00FE", new Style("Wingdings", 9)));
- } else {
- params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 9)));
- params.put(check2, new TextRenderData("\u006F", new Style("Wingdings", 9)));
- }
- }
- // 勾选框判断渲染
- public void getCheck(Map<String, Object> params, String value, String check1) {
- if ("NA".equals(value)) {
- params.put(check1, new TextRenderData("\u00FE", new Style("Wingdings", 9)));
- } else {
- params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 9)));
- }
- }
- /**
- * @param
- * @return 映射签名的文件名
- * @throws IOException
- */
- public String fileName(String filepath) {
- String newFilePath = filepath.replace("/profile", "");
- String pathName = RuoYiConfig.getProfile() + newFilePath;
- return pathName;
- }
- }
|