Merge remote-tracking branch 'origin/thirdStage' into thirdStage
This commit is contained in:
+21
-8
@@ -8,7 +8,9 @@ import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.entity.TransferVO;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
|
||||
import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
||||
import com.jero.modules.activiti.process.esChange.entity.vo.ESChangeDataVO;
|
||||
import com.jero.modules.activiti.process.esChange.listener.ProcessESChangeEndListener;
|
||||
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
@@ -20,6 +22,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
|
||||
/**
|
||||
@@ -47,7 +50,7 @@ public class ESChangeController {
|
||||
* @param changeData
|
||||
*/
|
||||
@AutoLog(value = "企标更改流程-发起流程")
|
||||
@ApiOperation(value="企标更改流程-发起流程", notes="企标更改流程-发起流程")
|
||||
@ApiOperation(value = "企标更改流程-发起流程", notes = "企标更改流程-发起流程")
|
||||
@PostMapping("/start")
|
||||
public Result<?> startProcess(@RequestBody ESChangeDataVO changeData) {
|
||||
changeService.startProcess(changeData);
|
||||
@@ -56,10 +59,11 @@ public class ESChangeController {
|
||||
|
||||
/**
|
||||
* 保存到待办
|
||||
*
|
||||
* @param processInfoVO
|
||||
*/
|
||||
@AutoLog(value = "企标更改流程-保存")
|
||||
@ApiOperation(value="企标更改流程-保存", notes="企标更改流程-保存")
|
||||
@ApiOperation(value = "企标更改流程-保存", notes = "企标更改流程-保存")
|
||||
@PostMapping("/save")
|
||||
public Result<?> save(@Validated @RequestBody ProcessInfoVO<ESChangeDataVO> processInfoVO) {
|
||||
changeService.saveToDraft(processInfoVO);
|
||||
@@ -68,10 +72,11 @@ public class ESChangeController {
|
||||
|
||||
/**
|
||||
* 保存到待办
|
||||
*
|
||||
* @param taskId
|
||||
*/
|
||||
@AutoLog(value = "企标更改流程-办理")
|
||||
@ApiOperation(value="企标更改流程-办理", notes="企标更改流程-办理")
|
||||
@ApiOperation(value = "企标更改流程-办理", notes = "企标更改流程-办理")
|
||||
@GetMapping("/handle/{taskId}")
|
||||
@Translation
|
||||
public Result<?> handle(@PathVariable("taskId") String taskId) {
|
||||
@@ -88,20 +93,28 @@ public class ESChangeController {
|
||||
* @param changeData
|
||||
*/
|
||||
@AutoLog(value = "企标更改流程-同意")
|
||||
@ApiOperation(value="企标更改流程-同意", notes="企标更改流程-同意")
|
||||
@ApiOperation(value = "企标更改流程-同意", notes = "企标更改流程-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<?> agree(@RequestBody ESChangeDataVO changeData) {
|
||||
changeService.approval(changeData, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "企标更改流程-测试修改单生成")
|
||||
@ApiOperation(value = "企标更改流程-测试修改单生成", notes = "企标更改流程-测试修改单生成", produces = "application/octet-stream")
|
||||
@PostMapping("/test")
|
||||
public Result<?> testModifyGen(HttpServletResponse response) throws Exception {
|
||||
// processESChangeEndListener.genModificationOrder(new ProcessEsChange(), response);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 驳回
|
||||
*
|
||||
* @param changeData
|
||||
*/
|
||||
@AutoLog(value = "企标更改流程-驳回")
|
||||
@ApiOperation(value="企标更改流程-驳回", notes="企标更改流程-驳回")
|
||||
@ApiOperation(value = "企标更改流程-驳回", notes = "企标更改流程-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<?> reject(@RequestBody ESChangeDataVO changeData) {
|
||||
changeService.approval(changeData, false);
|
||||
@@ -110,10 +123,9 @@ public class ESChangeController {
|
||||
|
||||
/**
|
||||
* 转办
|
||||
*
|
||||
*/
|
||||
@AutoLog(value = "企标更改流程-转办")
|
||||
@ApiOperation(value="企标更改流程-转办", notes="企标更改流程-转办")
|
||||
@ApiOperation(value = "企标更改流程-转办", notes = "企标更改流程-转办")
|
||||
@PostMapping(value = "/transfer")
|
||||
public Result<?> transfer(@RequestBody TransferVO transferVO) {
|
||||
processHandleService.transfer(transferVO.getTaskId(), transferVO.getUserId());
|
||||
@@ -122,11 +134,12 @@ public class ESChangeController {
|
||||
|
||||
/**
|
||||
* 草稿办理
|
||||
*
|
||||
* @param draftId
|
||||
* @param projectId
|
||||
*/
|
||||
@AutoLog(value = "企标更改流程-草稿办理")
|
||||
@ApiOperation(value="企标更改流程-草稿办理", notes="企标更改流程-草稿办理")
|
||||
@ApiOperation(value = "企标更改流程-草稿办理", notes = "企标更改流程-草稿办理")
|
||||
@GetMapping("/draftHandle")
|
||||
@Translation
|
||||
public Result<?> draftHandle(@RequestParam("draftId") @ApiParam("草稿Id") String draftId) {
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package com.jero.modules.activiti.process.esChange.entity;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2023/10/27 7:32
|
||||
*/
|
||||
public class EsChangeTaskNameConstant {
|
||||
|
||||
public static final String MAIN_DRAFTER_INIT = "主起草人发起";
|
||||
public static final String RELATED_USER_CHECK = "相关人员校对";
|
||||
public static final String MAIN_DRAFTER_LEADER_APPROVAL = "主起草人主管级领导审批";
|
||||
public static final String STANDARDIZATION_APPROVAL = "标准化审批";
|
||||
public static final String MAIN_DRAFTER_LEADER_LEADER_APPROVAL = "起草人主管级上一级领导审批";
|
||||
|
||||
}
|
||||
+299
-4
@@ -1,24 +1,51 @@
|
||||
package com.jero.modules.activiti.process.esChange.listener;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.CommitFlagEnum;
|
||||
import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
|
||||
import com.jero.modules.activiti.process.esChange.entity.EsChangeOpinion;
|
||||
import com.jero.modules.activiti.process.esChange.entity.EsChangeTaskNameConstant;
|
||||
import com.jero.modules.activiti.process.esChange.entity.ProcessEsChange;
|
||||
import com.jero.modules.activiti.process.esChange.service.EsChangeOpinionService;
|
||||
import com.jero.modules.activiti.process.esChange.service.ProcessEsChangeService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||
import com.jero.modules.laws.common.service.ILawsCommonService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.controller.CommonController;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.*;
|
||||
import com.jero.modules.tag.enums.TableNameEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.ExecutionListener;
|
||||
import org.apache.poi.xwpf.usermodel.*;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.mock.web.MockHttpServletResponse;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
import org.springframework.mock.web.MockMultipartHttpServletRequest;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
@@ -42,6 +69,30 @@ public class ProcessESChangeEndListener implements ExecutionListener {
|
||||
@Resource
|
||||
private ILawsCommonService commonService;
|
||||
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
@Resource
|
||||
private ISysUserDepartService sysUserDepartService;
|
||||
|
||||
@Resource
|
||||
private ISysDepartService sysDepartService;
|
||||
|
||||
@Resource
|
||||
private ISysDictService dictService;
|
||||
|
||||
@Resource
|
||||
private ProcessApprovalRecordService approvalRecordService;
|
||||
|
||||
@Resource
|
||||
private CommonController commonController;
|
||||
|
||||
@Resource
|
||||
private IOSSFileService ossFileService;
|
||||
|
||||
@Resource
|
||||
private EsChangeOpinionService changeOpinionService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
log.info("企标更改流程结束 监听执行器开始执行");
|
||||
@@ -55,27 +106,271 @@ public class ProcessESChangeEndListener implements ExecutionListener {
|
||||
// 根据标准编号找到标准Id
|
||||
LawsEnterpriseStandard es = esService.getOne(new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.eq(LawsEnterpriseStandard::getStandardNumber, standNo));
|
||||
change.setId(es.getId());
|
||||
// 转换成Map 然后走commonEdit接口
|
||||
Map<String, Object> parameterMap = new HashMap<>();
|
||||
this.buildMap(parameterMap, change);
|
||||
commonService.commonEdit(parameterMap);
|
||||
// 生成修改单号
|
||||
this.genModificationOrderNumber(change);
|
||||
esChangeService.updateById(change);
|
||||
// 生成修改单
|
||||
this.genModificationOrder(change);
|
||||
try {
|
||||
this.genModificationOrder(change);
|
||||
} catch (Exception e) {
|
||||
log.error("生成企标编号为{}的更改单失败", es.getStandardNumber());
|
||||
log.error(e.getMessage());
|
||||
throw new JeroBootException("生成企标编号为" + es.getStandardNumber() + "的更改单失败");
|
||||
}
|
||||
log.info("企标更改流程监听执行器执行结束");
|
||||
}
|
||||
|
||||
private void genModificationOrder(ProcessEsChange change) {
|
||||
public void genModificationOrder(ProcessEsChange change) throws Exception {
|
||||
String esNo = change.getStandardNumber();
|
||||
ClassPathResource resource = new ClassPathResource("wordTemplate/企标更改单模板.docx");
|
||||
// 使用ClassPathResource来读取模板文件
|
||||
try (InputStream fis = resource.getInputStream()) {
|
||||
XWPFDocument document = new XWPFDocument(fis);
|
||||
|
||||
// 获取并修改文档中的表格
|
||||
List<XWPFTable> tables = document.getTables();
|
||||
if (!tables.isEmpty()) {
|
||||
XWPFTable firstTable = tables.get(0);
|
||||
setFirstTableContents(firstTable, change);
|
||||
}
|
||||
|
||||
// 循环遍历所有页脚
|
||||
for (XWPFFooter footer : document.getFooterList()) {
|
||||
// 获取页脚中的所有表格
|
||||
List<XWPFTable> footerTables = footer.getTables();
|
||||
|
||||
// 假设您想要修改第一个表格
|
||||
if (!footerTables.isEmpty()) {
|
||||
XWPFTable footerTable = footerTables.get(0);
|
||||
// 在这里调用您的方法来修改页脚中的表格
|
||||
setSecondTableContents(footerTable, change);
|
||||
}
|
||||
}
|
||||
// 创建临时文件
|
||||
String fileName = change.getModifyOrderNum() + "-" + esNo + "标准更改单";
|
||||
fileName = fileName.replaceAll("/", "");
|
||||
File tempFile = Files.createTempFile(fileName, ".docx").toFile();
|
||||
|
||||
// 将更改写入临时文件
|
||||
try (FileOutputStream fos = new FileOutputStream(tempFile)) {
|
||||
document.write(fos);
|
||||
}
|
||||
|
||||
// 将文件作为MultipartFile封装
|
||||
MultipartFile multipartFile = new MockMultipartFile(
|
||||
"file", // 表单字段名称
|
||||
tempFile.getName(), // 文件名
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document", // 内容类型
|
||||
Files.newInputStream(tempFile.toPath()) // 文件内容
|
||||
);
|
||||
|
||||
// 创建模拟的MultipartHttpServletRequest
|
||||
MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest();
|
||||
mockRequest.addFile(multipartFile); // 添加文件
|
||||
mockRequest.addParameter("biz", "temp"); // 添加其他表单字段
|
||||
|
||||
// 调用上传接口
|
||||
Result<OSSFile> result = commonController.upload(mockRequest, new MockHttpServletResponse());
|
||||
OSSFile file = result.getResult();
|
||||
file.setStandardFileType(FieldCommon.FILE_MODIFICATION_LIST);
|
||||
file.setStandardNumber(esNo);
|
||||
file.setStandardId(change.getStandardId());
|
||||
file.setFileName(fileName.substring(0, fileName.lastIndexOf("标准更改单") + 5) + ".docx");
|
||||
ossFileService.updateById(file);
|
||||
// 删除临时文件
|
||||
boolean delete = tempFile.delete();
|
||||
}
|
||||
}
|
||||
|
||||
private void writeToResponse(HttpServletResponse response, File file) throws IOException {
|
||||
response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
|
||||
response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
|
||||
|
||||
try (OutputStream out = response.getOutputStream(); FileInputStream fis = new FileInputStream(file)) {
|
||||
byte[] buffer = new byte[1024];
|
||||
int bytesRead;
|
||||
while ((bytesRead = fis.read(buffer)) != -1) {
|
||||
out.write(buffer, 0, bytesRead);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setFirstTableContents(XWPFTable table, ProcessEsChange change) {
|
||||
List<EsChangeOpinion> opinions = changeOpinionService.list(new LambdaQueryWrapper<EsChangeOpinion>()
|
||||
.eq(EsChangeOpinion::getBusinessId, change.getId()));
|
||||
|
||||
List<String> changeReasonList = opinions.stream().map(EsChangeOpinion::getUpdateReason).collect(Collectors.toList());
|
||||
List<String> beforeUpdateList = opinions.stream().map(EsChangeOpinion::getBeforeUpdate).collect(Collectors.toList());
|
||||
List<String> afterUpdateList = opinions.stream().map(EsChangeOpinion::getAfterUpdate).collect(Collectors.toList());
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
// 获取表格的行列表
|
||||
List<XWPFTableRow> rows = table.getRows();
|
||||
if (!rows.isEmpty()) {
|
||||
// 图样文件代号
|
||||
setContent(rows, 1, 0, change.getStandardNumber(), false, false, false);
|
||||
// 图样(文件)更改通知单号
|
||||
setContent(rows, 1, 1, change.getModifyOrderNum(), false, false, false);
|
||||
// 名称
|
||||
setContent(rows, 2, 0, change.getStandardName(), false, false, false);
|
||||
// 更改级别代号
|
||||
setContent(rows, 2, 1, change.getLevelCode(), false, false, false);
|
||||
// 有无二维或三维图
|
||||
setContent(rows, 3, 1, change.getHas2d3dGraph(), false, false, false);
|
||||
// 更改理由(依据)
|
||||
setContentList(rows, 4, 0, changeReasonList);
|
||||
// 更改前
|
||||
setContentList(rows, 5, 0, beforeUpdateList);
|
||||
// 更改后
|
||||
setContentList(rows, 5, 1, afterUpdateList);
|
||||
// 顾客确认(适用军品)
|
||||
setContent(rows, 6, 0, change.getCustomerConfirmation(), true, false, false);
|
||||
// 刷新文件号(三维)
|
||||
setContent(rows, 6, 1, change.getRefreshFileNumber(), true, false, false);
|
||||
// 关联更改项
|
||||
setContent(rows, 7, 1, change.getRelatedChanges(), true, false, false);
|
||||
// 库存
|
||||
setContent(rows, 8, 1, change.getInventory(), false, true, true);
|
||||
// 在制品
|
||||
setContent(rows, 9, 1, change.getWorkInProgress(), false, true, true);
|
||||
// 备件
|
||||
setContent(rows, 10, 1, change.getSpareParts(), false, true, true);
|
||||
// 更改标记
|
||||
setContent(rows, 11, 1, change.getChangeTag(), false, true, true);
|
||||
// 处数
|
||||
setContent(rows, 11, 3, change.getTreatmentCount(), false, true, true);
|
||||
// 生效日期
|
||||
setContent(rows, 11, 5, formatter.format(change.getEffectiveDate()), false, true, true);
|
||||
}
|
||||
}
|
||||
|
||||
private void setContentList(List<XWPFTableRow> rows, int rowNum, int cellNum, List<String> contentList) {
|
||||
for (String content : contentList) {
|
||||
setContent(rows, rowNum, cellNum, content, true, false, false);
|
||||
}
|
||||
}
|
||||
|
||||
private void genModificationOrderNumber(ProcessEsChange change) {
|
||||
String deptCode = "U";
|
||||
// 找到单位代号
|
||||
String createBy = change.getCreateBy();
|
||||
SysUser createUser = sysUserService.getUserByName(createBy);
|
||||
String deptId = sysUserDepartService.getFirstDeptIdByUserId(createUser.getId());
|
||||
SysDepart dept = sysDepartService.getById(deptId);
|
||||
if (dept != null) {
|
||||
String deptName = dept.getDepartName();
|
||||
List<DictModel> dictItems = dictService.getDictItems("es_modify_order_dept_code");
|
||||
for (DictModel dictItem : dictItems) {
|
||||
if (dictItem.getText().equals(deptName)) {
|
||||
deptCode = dictItem.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 找到年份
|
||||
Date effectiveDate = new Date();
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy");
|
||||
String year = formatter.format(effectiveDate);
|
||||
// 找到月份
|
||||
formatter = new SimpleDateFormat("MM");
|
||||
String month = formatter.format(effectiveDate);
|
||||
// 获取顺序号
|
||||
LambdaQueryWrapper<ProcessEsChange> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(ProcessEsChange::getModifyOrderNum, "B" + deptCode + year + month);
|
||||
queryWrapper.orderByDesc(ProcessEsChange::getModifyOrderNum);
|
||||
List<ProcessEsChange> changes = esChangeService.list(queryWrapper);
|
||||
String modifyOrderNum;
|
||||
if (changes.isEmpty()) {
|
||||
modifyOrderNum = "B" + deptCode + year + month + "001";
|
||||
change.setModifyOrderNum(modifyOrderNum);
|
||||
return;
|
||||
}
|
||||
String lastModifyOrderNum = changes.get(0).getModifyOrderNum().substring(9);
|
||||
String newModifyOrderNum = String.format("%03d", Integer.parseInt(lastModifyOrderNum) + 1);
|
||||
modifyOrderNum = "B" + deptCode + year + month + newModifyOrderNum;
|
||||
change.setModifyOrderNum(modifyOrderNum);
|
||||
}
|
||||
|
||||
private void setSecondTableContents(XWPFTable table, ProcessEsChange change) {
|
||||
// 找到所有节点审批记录
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ProcessApprovalRecord::getProcessInstanceId, change.getProcessInstanceId());
|
||||
queryWrapper.eq(ProcessApprovalRecord::getCommitFlag, CommitFlagEnum.PASS.getValue());
|
||||
queryWrapper.orderByAsc(ProcessApprovalRecord::getCreateTime);
|
||||
List<ProcessApprovalRecord> records = approvalRecordService.list(queryWrapper);
|
||||
Map<String, ProcessApprovalRecord> userMap = records.stream()
|
||||
.collect(Collectors.toMap(ProcessApprovalRecord::getTaskName, e -> {
|
||||
SysUser user;
|
||||
if (StrUtil.isNotBlank(e.getTransferBy())) {
|
||||
user = sysUserService.getById(e.getTransferBy());
|
||||
} else {
|
||||
user = sysUserService.getById(e.getUserId());
|
||||
}
|
||||
e.setUserId(user.getRealname());
|
||||
return e;
|
||||
}));
|
||||
// 获取表格的行列表
|
||||
List<XWPFTableRow> rows = table.getRows();
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
if (!rows.isEmpty()) {
|
||||
ProcessApprovalRecord recordOne = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_INIT);
|
||||
ProcessApprovalRecord recordTwo = userMap.get(EsChangeTaskNameConstant.RELATED_USER_CHECK);
|
||||
ProcessApprovalRecord recordThree = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_APPROVAL);
|
||||
ProcessApprovalRecord recordFour = userMap.get(EsChangeTaskNameConstant.STANDARDIZATION_APPROVAL);
|
||||
ProcessApprovalRecord recordFive = userMap.get(EsChangeTaskNameConstant.MAIN_DRAFTER_LEADER_LEADER_APPROVAL);
|
||||
|
||||
// 设计
|
||||
setContent(rows, 0, 1, recordOne.getUserId(), false, true, true);
|
||||
setContent(rows, 1, 1, formatter.format(recordOne.getEndTime()), false, true, true);
|
||||
// 校对
|
||||
setContent(rows, 0, 3, recordTwo.getUserId(), false, true, true);
|
||||
setContent(rows, 1, 3, formatter.format(recordTwo.getEndTime()), false, true, true);
|
||||
// 审核
|
||||
setContent(rows, 0, 5, recordThree.getUserId(), false, true, true);
|
||||
setContent(rows, 1, 5, formatter.format(recordThree.getEndTime()), false, true, true);
|
||||
// 标准化
|
||||
setContent(rows, 0, 7, recordFour.getUserId(), false, true, true);
|
||||
setContent(rows, 1, 7, formatter.format(recordFour.getEndTime()), false, true, true);
|
||||
// 批准
|
||||
setContent(rows, 0, 11, recordFive.getUserId(), false, true, true);
|
||||
setContent(rows, 1, 11, formatter.format(recordFive.getEndTime()), false, true, true);
|
||||
}
|
||||
}
|
||||
|
||||
private void setContent(List<XWPFTableRow> rows, int rowNum, int cellNum, String content,
|
||||
boolean newLine, boolean alignCenter, boolean verCenter) {
|
||||
XWPFTableRow row = rows.get(rowNum);
|
||||
List<XWPFTableCell> cells = row.getTableCells();
|
||||
if (!cells.isEmpty()) {
|
||||
XWPFTableCell cell = cells.get(cellNum);
|
||||
XWPFParagraph paragraph;
|
||||
if (newLine) {
|
||||
paragraph = cell.addParagraph();
|
||||
} else {
|
||||
paragraph = cell.getParagraphs().get(0);
|
||||
}
|
||||
XWPFRun run = paragraph.createRun();
|
||||
// 设置段落居中(水平)
|
||||
if (alignCenter) {
|
||||
paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
}
|
||||
run.setText(content);
|
||||
run.setFontSize(12);
|
||||
run.setFontFamily("新宋体");
|
||||
// 设置单元格垂直居中
|
||||
if (verCenter) {
|
||||
cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void buildMap(Map<String, Object> parameterMap, ProcessEsChange change) {
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
parameterMap.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
|
||||
parameterMap.put(FieldCommon.ID, change.getId());
|
||||
parameterMap.put(FieldCommon.ID, change.getStandardId());
|
||||
parameterMap.put(FieldCommon.STANDARD_NUMBER, change.getStandardNumber());
|
||||
parameterMap.put(FieldCommon.STANDARD_NAME, change.getStandardName());
|
||||
parameterMap.put(FieldCommon.GRADE_CLASSIFICATION, change.getGradeClassification());
|
||||
|
||||
+12
@@ -195,6 +195,18 @@ public class LawsAssessResultsServiceImpl extends ServiceImpl<LawsAssessResultsM
|
||||
@Override
|
||||
public MetNotMetVO getMetNotMetVOById(String id) {
|
||||
LawsAssessResults assessResults = getById(id);
|
||||
if (assessResults == null){
|
||||
LawsAssess assess = lawsAssessService.getById(id);
|
||||
LambdaQueryWrapper<LawsAssessResults> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(LawsAssessResults::getProjectId,assess.getProjectId())
|
||||
.eq(LawsAssessResults::getStandardId,assess.getStandardId())
|
||||
.groupBy(LawsAssessResults::getTermNumber)
|
||||
.groupBy(LawsAssessResults::getAssessorId);
|
||||
wrapper.orderByDesc(LawsAssessResults::getCreateTime);
|
||||
wrapper.last("limit 1");
|
||||
assessResults = this.getOne(wrapper);
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<LawsAssessResults> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.eq(LawsAssessResults::getProjectId,assessResults.getProjectId())
|
||||
|
||||
Binary file not shown.
@@ -355,6 +355,8 @@
|
||||
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
|
||||
</nonFilteredFileExtensions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
@@ -362,7 +364,6 @@
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
|
||||
Reference in New Issue
Block a user