Merge branch 'dev_2nd_period' into 'feature_dev_20221010_extend'
# Conflicts: # jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue
This commit is contained in:
+2
-1
@@ -56,8 +56,9 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
|
||||
// @RequiresPermissions("params:collectManifest:list")
|
||||
public Result<List<Map<String, Object>>> getHeader(@RequestParam(name = "paramsManifestId") String paramsManifestId,
|
||||
@RequestParam(name = "flag") String flag,
|
||||
@RequestParam(name = "userType", required = false) String userType,
|
||||
@RequestParam(name = "cut") String cut) {
|
||||
List<Map<String, Object>> list = paramsCollectManifestEOService.getHeader(paramsManifestId, flag, cut);
|
||||
List<Map<String, Object>> list = paramsCollectManifestEOService.getHeader(paramsManifestId, flag, userType, cut);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
|
||||
+9
@@ -2,14 +2,17 @@ package com.jero.modules.cert.collect.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
@@ -41,6 +44,12 @@ public class ParamsCollectManifestEO extends ParamsCollectManifestBaseEO impleme
|
||||
@ApiModelProperty(value = "添加标识")
|
||||
private String addFlag;
|
||||
|
||||
/**同步上报库时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "同步上报库时间")
|
||||
private Date reportTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String userTypes;
|
||||
|
||||
|
||||
+9
@@ -1,12 +1,16 @@
|
||||
package com.jero.modules.cert.collect.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
@@ -22,4 +26,9 @@ import java.io.Serializable;
|
||||
@ApiModel(value="params_collect_manifest_history对象", description="参数项收集清单历史版本")
|
||||
public class ParamsCollectManifestHistoryEO extends ParamsCollectManifestBaseEO implements Serializable {
|
||||
|
||||
/**同步上报库时间*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "同步上报库时间")
|
||||
private Date reportTime;
|
||||
}
|
||||
|
||||
+1
@@ -30,6 +30,7 @@
|
||||
<result column="del_flag" property="delFlag" />
|
||||
<result column="add_flag" property="addFlag" />
|
||||
<result column="title_default_value" property="titleDefaultValue" />
|
||||
<result column="report_time" property="reportTime" />
|
||||
</resultMap>
|
||||
<sql id="BaseQuerySql">
|
||||
<where>
|
||||
|
||||
+1
@@ -27,6 +27,7 @@
|
||||
<result column="deadline" property="deadline" />
|
||||
<result column="params_manifest_id" property="paramsManifestId" />
|
||||
<result column="title_default_value" property="titleDefaultValue" />
|
||||
<result column="report_time" property="reportTime" />
|
||||
</resultMap>
|
||||
<sql id="BaseQuerySql">
|
||||
<where>
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
|
||||
* @param cut
|
||||
* @return
|
||||
*/
|
||||
List<Map<String, Object>> getHeader(String paramsManifestId, String flag, String cut);
|
||||
List<Map<String, Object>> getHeader(String paramsManifestId, String flag, String userType, String cut);
|
||||
|
||||
/**
|
||||
* 提交
|
||||
|
||||
+7
-2
@@ -749,7 +749,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<Map<String, Object>> getHeader(String paramsManifestId, String flag, String cut) {
|
||||
public List<Map<String, Object>> getHeader(String paramsManifestId, String flag, String userType, String cut) {
|
||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag); // flag--->7
|
||||
if (fieldList.size() != 0) {
|
||||
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
|
||||
@@ -772,6 +772,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
OnlCgformField onlCgformField = fieldList.get(i);
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
String dbFieldName = onlCgformField.getDbFieldName();
|
||||
if ("report_time".equals(dbFieldName)
|
||||
&& (CollectManifestUserTypeEnum.SDT.getValue().equals(userType) || CollectManifestUserTypeEnum.DRE.getValue().equals(userType))) {
|
||||
continue;
|
||||
}
|
||||
if ("nio_number".equals(dbFieldName) || "params_name".equals(dbFieldName)) {
|
||||
map.put("click5", true);
|
||||
if("nio_number".equals(dbFieldName)) {
|
||||
@@ -2080,6 +2084,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO();
|
||||
updateEO.setId(paramsCollectManifestId);
|
||||
updateEO.setState(CollectManifestStateEnum.SYNC_REPORT.getValue()); // 设置状态为:待工程接口人处理
|
||||
updateEO.setReportTime(new Date());
|
||||
updateEOList.add(updateEO);
|
||||
}
|
||||
|
||||
@@ -2653,7 +2658,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
if (Date.class.equals(field.getType())) {
|
||||
Date date = (Date) o;
|
||||
String pattern = "";
|
||||
if ("deadline".equals(varName)) {
|
||||
if ("deadline".equals(varName) || "reportTime".equals(varName)) {
|
||||
pattern = "yyyy-MM-dd";
|
||||
} else {
|
||||
pattern = "yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
+1
-1
@@ -524,7 +524,7 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl<Param
|
||||
if (Date.class.equals(field.getType())) {
|
||||
Date date = (Date) o;
|
||||
String pattern = "";
|
||||
if ("deadline".equals(varName)) {
|
||||
if ("deadline".equals(varName) || "reportTime".equals(varName)) {
|
||||
pattern = "yyyy-MM-dd";
|
||||
} else {
|
||||
pattern = "yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
+74
-6
@@ -2,6 +2,7 @@ package com.jero.modules.compare.service.impl;
|
||||
|
||||
import com.aliyuncs.utils.IOUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
@@ -14,13 +15,13 @@ import com.jero.modules.compare.service.ISarFileCompareItemCommentService;
|
||||
import com.jero.modules.compare.service.ISarFileCompareItemService;
|
||||
import com.jero.modules.compare.utils.ConvertHtml2Excel;
|
||||
import com.jero.modules.system.util.StringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.poi.common.usermodel.HyperlinkType;
|
||||
import org.apache.poi.hssf.usermodel.*;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -29,6 +30,7 @@ import javax.imageio.ImageIO;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
@@ -36,8 +38,7 @@ import java.nio.file.Paths;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 文档对比信息条款评论表
|
||||
@@ -46,6 +47,7 @@ import java.util.regex.Pattern;
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCompareItemCommentMapper, SarFileCompareItemComment> implements ISarFileCompareItemCommentService {
|
||||
|
||||
@Autowired
|
||||
@@ -102,7 +104,29 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
//删除时需要判断左侧跟右侧是否还有评论,如果没有,将对应的reviewed改为0
|
||||
String itemsIdLeft;
|
||||
String itemsIdRight;
|
||||
SarFileCompareItemComment sarFileCompareItemComment = queryById(id);
|
||||
itemsIdLeft = sarFileCompareItemComment.getItemsIdLeft();
|
||||
itemsIdRight = sarFileCompareItemComment.getItemsIdRight();
|
||||
removeById(id);
|
||||
|
||||
QueryWrapper<SarFileCompareItemComment> left = new QueryWrapper<>();
|
||||
left.eq("items_id_left", itemsIdLeft);
|
||||
if (baseMapper.selectCount(left) == 0) {
|
||||
SarFileCompareItem sarFileCompareItem = SarFileCompareItemServiceImpl.queryById(itemsIdLeft);
|
||||
sarFileCompareItem.setReviewed(0);
|
||||
SarFileCompareItemServiceImpl.saveOrUpdate(sarFileCompareItem);
|
||||
}
|
||||
QueryWrapper<SarFileCompareItemComment> right = new QueryWrapper<>();
|
||||
right.eq("items_id_right", itemsIdRight);
|
||||
if (baseMapper.selectCount(right) == 0) {
|
||||
SarFileCompareItem sarFileCompareItem = SarFileCompareItemServiceImpl.queryById(itemsIdRight);
|
||||
sarFileCompareItem.setReviewed(0);
|
||||
SarFileCompareItemServiceImpl.saveOrUpdate(sarFileCompareItem);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -223,14 +247,16 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
|
||||
OutputStream os = null;
|
||||
Workbook workbook = new HSSFWorkbook();
|
||||
|
||||
log.info("-------------- workbook创建成功 -----------------");
|
||||
//在本地创建图片文件夹
|
||||
log.info("-------------- 在本地创建图片文件夹 -----------------");
|
||||
String dir = filePath + File.separator + UUID.randomUUID().toString().replace("-", "");
|
||||
File dirFile = new File(dir);
|
||||
if (dirFile.exists()){
|
||||
dirFile.delete();
|
||||
}
|
||||
dirFile.mkdirs();
|
||||
log.info("-------------- 文件夹创建成功:"+ dirFile.getAbsolutePath() +" -----------------");
|
||||
try {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String fileName = "导出对比结果 " + sdf.format(new Date()) + ".xlsx";
|
||||
@@ -288,7 +314,9 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
row.createCell(1).setCellValue(itemLeft.getItemsNum());
|
||||
row.createCell(2).setCellValue(itemLeft.getItemsName());
|
||||
String text = itemLeft.getItemsText();
|
||||
log.info("-------------- 开始开始拆分左侧图片、文字、表格 :" + text + "-----------------");
|
||||
String rowDataAndPath = getSplitContent(request, text);
|
||||
log.info("-------------- 左侧图片、文字、表格 拆分成功 :"+ rowDataAndPath +"-----------------");
|
||||
leftSplit = rowDataAndPath.split("---");
|
||||
if (leftSplit.length > 1) {
|
||||
for (int j = 0; j < leftSplit.length; j++) {
|
||||
@@ -299,9 +327,13 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
if (ObjectUtils.isEmpty(row2)) {
|
||||
row2 = sheet.createRow(j + i);
|
||||
}
|
||||
log.info("-------------- 开始开始处理左侧图片、表格 -----------------");
|
||||
handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row2, i, j, leftSplit[j], 3);
|
||||
log.info("-------------- 左侧图片、表格 处理成功 -----------------");
|
||||
} else {
|
||||
log.info("-------------- 开始开始处理左侧图片、表格 -----------------");
|
||||
handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row, i, j, leftSplit[j], 3);
|
||||
log.info("-------------- 左侧图片、表格 处理成功 -----------------");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -322,7 +354,9 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
row.createCell(5).setCellValue(itemRight.getItemsNum());
|
||||
row.createCell(6).setCellValue(itemRight.getItemsName());
|
||||
String text = itemRight.getItemsText();
|
||||
log.info("-------------- 开始开始拆分右侧图片、文字、表格 :"+ text +" -----------------");
|
||||
String rowDataAndPath = getSplitContent(request, text);
|
||||
log.info("-------------- 右侧图片、文字、表格 拆分成功 :"+ rowDataAndPath +" -----------------");
|
||||
rightSplit = rowDataAndPath.split("---");
|
||||
if (rightSplit.length > 1) {
|
||||
for (int j = 0; j < rightSplit.length; j++) {
|
||||
@@ -333,9 +367,13 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
if (ObjectUtils.isEmpty(row2)) {
|
||||
row2 = sheet.createRow(j + i);
|
||||
}
|
||||
log.info("-------------- 开始处理右侧图片、表格 -----------------");
|
||||
handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row2, i, j, rightSplit[j], 7);
|
||||
log.info("-------------- 右侧图片、表格 处理成功 -----------------");
|
||||
} else {
|
||||
log.info("-------------- 开始处理右侧图片、表格 -----------------");
|
||||
handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row, i, j, rightSplit[j], 7);
|
||||
log.info("-------------- 右侧图片、表格 处理成功 -----------------");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -372,12 +410,15 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
row.getCell(1).setCellStyle(cellStyle);
|
||||
}
|
||||
if (ObjectUtils.isNotEmpty(mergeCells)) {
|
||||
log.info("-------------- 开始处理需要合并的单元格 -----------------");
|
||||
Set<SarFileCompareExcelMergeCell> mergeCellSet = new HashSet<>(mergeCells);
|
||||
for (SarFileCompareExcelMergeCell mergeCell : mergeCellSet) {
|
||||
Integer leftCount = mergeCell.getLeftEnd() - mergeCell.getLeftStart() + 1;
|
||||
Integer rightCount = mergeCell.getRightEnd() - mergeCell.getRightStart() + 1;
|
||||
Integer start = leftCount - rightCount >= 0 ? mergeCell.getLeftStart() : mergeCell.getRightStart();
|
||||
log.info("-------------- 合并开始行数:" + start + " -----------------");
|
||||
Integer end = leftCount - rightCount >= 0 ? mergeCell.getLeftEnd() : mergeCell.getRightEnd();
|
||||
log.info("-------------- 合并结束行数: " + end + " -----------------");
|
||||
//合并
|
||||
CellRangeAddress region0 = new CellRangeAddress(start, end, 0, 0);
|
||||
sheet.addMergedRegion(region0);
|
||||
@@ -394,6 +435,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
CellRangeAddress region7 = new CellRangeAddress(start, end, 8, 8);
|
||||
sheet.addMergedRegion(region7);
|
||||
}
|
||||
log.info("-------------- 单元格合并成功 -----------------");
|
||||
}
|
||||
|
||||
|
||||
@@ -401,6 +443,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
workbook.write(os);
|
||||
os.flush();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("下载文件失败");
|
||||
} else {
|
||||
@@ -429,6 +472,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
if (text.contains("/upFiles")) {
|
||||
row.setHeight((short) 3000); //设置行高
|
||||
//先将图片下载到本地
|
||||
log.info("-------------------------将图片下载到本地文件夹中----------------------------");
|
||||
String fileLastName = text.substring(text.lastIndexOf("/") + 1);
|
||||
if (CosBootUtil.doesObjectExist(text)) {
|
||||
try (InputStream in = CosBootUtil.download(text)) {
|
||||
@@ -439,18 +483,34 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
}
|
||||
}
|
||||
File file = new File(dir + File.separator + fileLastName);
|
||||
log.info("-------------------------图片下载成功:"+ file.getAbsolutePath() +"----------------------------");
|
||||
if (file.exists()) {
|
||||
log.info("-------------------------将图片插入excel指定单元格中----------------------------");
|
||||
BufferedImage bufferImg = ImageIO.read(file);
|
||||
ImageIO.write(bufferImg, "jpg", byteArrayOut);
|
||||
//获取文件后缀
|
||||
String fileName = file.getName();
|
||||
String formatName = fileName.substring(fileName.lastIndexOf(".") + 1);
|
||||
//如果是jpg或者是jpeg,需要重画一下,否则会变色
|
||||
if (formatName.equalsIgnoreCase("jpg") || formatName.equalsIgnoreCase("jpeg")) { //重画一下,要么会变色
|
||||
BufferedImage tag;
|
||||
tag = new BufferedImage(bufferImg.getWidth(), bufferImg.getHeight(), BufferedImage.TYPE_INT_BGR);
|
||||
Graphics g = tag.getGraphics();
|
||||
g.drawImage(bufferImg, 0, 0, null); // 绘制缩小后的图
|
||||
g.dispose();
|
||||
bufferImg = tag;
|
||||
}
|
||||
ImageIO.write(bufferImg, formatName, byteArrayOut);
|
||||
//anchor主要用于设置图片的属性
|
||||
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 600, 200, (short) cellNum, j + i, (short) cellNum, j + i);
|
||||
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
|
||||
|
||||
log.info("-------------------------将图片插入成功----------------------------");
|
||||
}
|
||||
} else {
|
||||
Cell cell = row.createCell(cellNum);
|
||||
if (text.contains("<table")) {
|
||||
log.info("-------------------------开始处理表格----------------------------");
|
||||
tableAssociate(workbook, cellStyleLink, cell, text);
|
||||
log.info("-------------------------表格处理完毕----------------------------");
|
||||
} else {
|
||||
cell.setCellValue(text);
|
||||
}
|
||||
@@ -467,6 +527,7 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
private void tableAssociate(Workbook workbook, CellStyle cellStyleLink, Cell cell, String tableHtml) {
|
||||
cell.setCellValue("点击查看详情");
|
||||
//新开sheet生成表格
|
||||
log.info("-------------------------开始生成表格----------------------------");
|
||||
if (org.apache.commons.lang.StringUtils.isNotEmpty(tableHtml) && tableHtml.indexOf("<tbody>") < 0) {
|
||||
if (tableHtml.indexOf("<thead>") < 0) {
|
||||
tableHtml = tableHtml.replaceFirst("<tr>", "<tbody><tr>");
|
||||
@@ -480,13 +541,16 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
tableHtml = tableHtml.replaceAll("<[\\s]*?br[^>]*?>|<[\\s]*?\\/[\\s]*?br[\\s]*?>", cnt);
|
||||
String tableSheetName = "表格" + System.currentTimeMillis();
|
||||
ConvertHtml2Excel.table2Excel(tableHtml, (HSSFWorkbook) workbook, tableSheetName);
|
||||
log.info("-------------------------表格生产完毕----------------------------");
|
||||
//添加超链接
|
||||
log.info("-------------------------开始添加超链接---------------------------");
|
||||
CreationHelper createHelper = workbook.getCreationHelper();
|
||||
Hyperlink hyperlink1 = createHelper.createHyperlink(HyperlinkType.DOCUMENT);
|
||||
String tableName = "#\'" + tableSheetName + "\'!A1";
|
||||
hyperlink1.setAddress(tableName);
|
||||
cell.setHyperlink(hyperlink1);// 链接
|
||||
cell.setCellStyle(cellStyleLink);
|
||||
log.info("-------------------------超链接添加完毕---------------------------");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -498,11 +562,15 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
private String getSplitContent(HttpServletRequest request, String text) {
|
||||
text = text.replace("<p>", "").replace("</p>", "\r\n");
|
||||
//分割图片
|
||||
log.info("-------------------------开始分割文字与图片---------------------------");
|
||||
splitImg(text, request.getSession());
|
||||
log.info("-------------------------文字与图片分割完毕---------------------------");
|
||||
//分割表格
|
||||
log.info("-------------------------从剩余文字中开始分割表格---------------------------");
|
||||
String txtAndImg = (String) request.getSession().getAttribute("txtAndImg");
|
||||
txtAndImg = txtAndImg.replaceAll("table", "replaceTable");
|
||||
splitTable(txtAndImg, request.getSession());
|
||||
log.info("-------------------------表格分割完毕---------------------------");
|
||||
return (String) request.getSession().getAttribute("textAndTableAndImg");
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
*/
|
||||
public enum ReleaseConditionEnum {
|
||||
|
||||
PUBLISHED("已发布","published","Have published"),
|
||||
PUBLISHED("已发布","published","Published"),
|
||||
DRAFT("草稿","draft","Draft"),
|
||||
;
|
||||
|
||||
|
||||
+8
-10
@@ -241,7 +241,6 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
List<ERFTreeData> resList = new ArrayList<>();
|
||||
for (ExtRepoFolder erf : list) {
|
||||
if (supId.equals(erf.getSupFolder())) {
|
||||
//int childLevel = level + 1;
|
||||
if (haveViewAuth(erf.getId())) {
|
||||
ERFTreeData date = new ERFTreeData(erf.getFolderName(), erf.getId(), level, erf.getOrderId());
|
||||
boolean parentRightClick = haveManageAuth(erf.getId());
|
||||
@@ -252,7 +251,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
date.setAuthManageIds(erf.getAuthManageIds());
|
||||
date.setAuthViewIdsName(erf.getAuthViewIdsName());
|
||||
date.setAuthViewIds(erf.getAuthViewIds());
|
||||
date.setChildren(subFolderTree(erf.getId(),new ArrayList<ERFTreeData>(),level,parentRightClick));
|
||||
date.setChildren(subFolderTree(new ArrayList<ERFTreeData>(),date));
|
||||
date.sortChildren();
|
||||
resList.add(date);
|
||||
} else {
|
||||
@@ -265,19 +264,18 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
|
||||
/**
|
||||
* 父文件夹有权限则获取其下全部子文件夹
|
||||
* @param folder
|
||||
* @param level
|
||||
* @param childTree
|
||||
* @param father
|
||||
* @return
|
||||
*/
|
||||
private List<ERFTreeData> subFolderTree(String folder,List<ERFTreeData> childTree,int level,boolean parentRightClick) {
|
||||
int childLevel = level + 1;
|
||||
List<ExtRepoFolder> listBySupFolder = getListBySupFolder(folder);
|
||||
ExtRepoFolder father = queryById(folder);
|
||||
private List<ERFTreeData> subFolderTree(List<ERFTreeData> childTree,ERFTreeData father) {
|
||||
int childLevel = father.getLevel() + 1;
|
||||
List<ExtRepoFolder> listBySupFolder = getListBySupFolder(father.getKey());
|
||||
for (ExtRepoFolder extRepoFolder : listBySupFolder) {
|
||||
ERFTreeData date = new ERFTreeData(extRepoFolder.getFolderName(), extRepoFolder.getId(), childLevel, extRepoFolder.getOrderId());
|
||||
//是否有管理权限
|
||||
boolean childRightClick = haveManageAuth(extRepoFolder.getId());
|
||||
if (parentRightClick||childRightClick) {
|
||||
if (father.isManager()||childRightClick) {
|
||||
date.setManager(true);
|
||||
}
|
||||
//如果参数为空则延续父文件夹权限,反之用自己的
|
||||
@@ -295,7 +293,7 @@ public class ExtRepoFolderServiceImpl extends ServiceImpl<ExtRepoFolderMapper, E
|
||||
date.setAuthViewIdsName(father.getAuthViewIdsName());
|
||||
date.setAuthViewIds(father.getAuthViewIds());
|
||||
}
|
||||
date.setChildren(subFolderTree(extRepoFolder.getId(), new ArrayList<ERFTreeData>(),childLevel,childRightClick));
|
||||
date.setChildren(subFolderTree(new ArrayList<ERFTreeData>(),date));
|
||||
date.sortChildren();
|
||||
childTree.add(date);
|
||||
}
|
||||
|
||||
+18
@@ -8,13 +8,16 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
|
||||
import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -37,6 +40,8 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGatherEO, ILawsOpinionGatherEOService> {
|
||||
@Autowired
|
||||
private ILawsOpinionGatherEOService lawsOpinionGatherEOService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -57,6 +62,19 @@ public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGat
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<LawsOpinionGatherEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsOpinionGatherEO, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("start_time");
|
||||
/**
|
||||
* 创建查询数据权限,超级管理员可以看到所有的数据,并且能删除,其它用户只能看到自己创建、或自己为评估人的数据。
|
||||
*/
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
if(!administrator){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//如果不是超级管理员,获取自己所有参与过的法规意见收集
|
||||
queryWrapper.and(query -> {
|
||||
query.eq("create_by",currentUser.getUsername());
|
||||
query.or().like("evaluator_ids",currentUser.getId());
|
||||
});
|
||||
}
|
||||
|
||||
Page<LawsOpinionGatherEO> page = new Page<LawsOpinionGatherEO>(pageNo, pageSize);
|
||||
IPage<LawsOpinionGatherEO> pageList = lawsOpinionGatherEOService.page(page, queryWrapper);
|
||||
this.lawsOpinionGatherEOService.disposeData(pageList.getRecords(),cut);
|
||||
|
||||
+4
@@ -122,4 +122,8 @@ public class LawsOpinionGatherEO implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "评估人ids,多个之间使用英文逗号分隔")
|
||||
private String evaluatorIds;
|
||||
|
||||
/**删除标识 true 可以删除,false,没有权限删除**/
|
||||
@TableField(exist = false)
|
||||
private boolean deleteFlag = false;
|
||||
}
|
||||
|
||||
+8
@@ -6,6 +6,7 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
|
||||
import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum;
|
||||
@@ -31,6 +32,7 @@ import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.modules.jmreport.common.constant.CommonConstant;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -197,6 +199,8 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
@Override
|
||||
public void disposeData(List<LawsOpinionGatherEO> lawsOpinionGatherEOList,String cut) {
|
||||
if(CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)){
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//树形数据字典
|
||||
List<SysCategory> technologyTerritoryList = sysCategoryService.list();
|
||||
lawsOpinionGatherEOList.forEach(lawsOpinionGather -> {
|
||||
@@ -211,6 +215,10 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
List<OSSFile> opinionArchiveFileList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(lawsOpinionGather.getOpinionArchiveId(), ","));
|
||||
lawsOpinionGather.setOpinionArchiveFileList(opinionArchiveFileList);
|
||||
}
|
||||
//如果当前用户是超级管理员,或是这条数据的创建人,给删除权限。
|
||||
if(StringUtils.equals(lawsOpinionGather.getCreateBy(),currentUser.getUsername()) || administrator){
|
||||
lawsOpinionGather.setDeleteFlag(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -3,19 +3,26 @@ package com.jero.modules.lawsTechnologyEvaluation.controller;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -40,6 +47,10 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
public class LawsTechnologyEvaluationEOController extends JeroController<LawsTechnologyEvaluationEO, ILawsTechnologyEvaluationEOService> {
|
||||
@Autowired
|
||||
private ILawsTechnologyEvaluationEOService lawsTechnologyEvaluationEOService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -60,6 +71,10 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationEO, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("start_time");
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
if(!administrator){
|
||||
this.lawsTechnologyEvaluationEOService.createQueryPermission(queryWrapper,lawsTechnologyEvaluationEO,administrator);
|
||||
}
|
||||
Page<LawsTechnologyEvaluationEO> page = new Page<LawsTechnologyEvaluationEO>(pageNo, pageSize);
|
||||
IPage<LawsTechnologyEvaluationEO> pageList = lawsTechnologyEvaluationEOService.page(page, queryWrapper);
|
||||
this.lawsTechnologyEvaluationEOService.disposeData(pageList.getRecords(),cut);
|
||||
|
||||
+3
@@ -149,4 +149,7 @@ public class LawsTechnologyEvaluationEO implements Serializable {
|
||||
@ApiModelProperty(value = "流程编号")
|
||||
private String prcNum;
|
||||
|
||||
/**删除标识 true 可以删除,false,没有权限删除**/
|
||||
@TableField(exist = false)
|
||||
private boolean deleteFlag = false;
|
||||
}
|
||||
|
||||
+3
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.lawsTechnologyEvaluation.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
|
||||
@@ -92,4 +93,6 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
|
||||
void workFlowSendMsg(JSONObject jsonObject);
|
||||
|
||||
Result<?> batchCompleteTask(JSONObject jsonObject);
|
||||
|
||||
void createQueryPermission(QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper, LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,boolean administrator);
|
||||
}
|
||||
|
||||
+30
@@ -9,6 +9,7 @@ import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
import com.jero.common.constant.enums.ModuleEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
|
||||
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
|
||||
import com.jero.modules.document.enums.FieldTypeEnum;
|
||||
@@ -39,6 +40,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.modules.jmreport.common.constant.CommonConstant;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -229,6 +231,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
@Override
|
||||
public void disposeData(List<LawsTechnologyEvaluationEO> datas, String cut) {
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<SysCategory> categoryList = sysCategoryService.list();
|
||||
for (LawsTechnologyEvaluationEO data : datas) {
|
||||
if(StringUtils.isNotEmpty(data.getEvaluationMethods())){
|
||||
@@ -244,6 +248,9 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
String name = getTreeName(cut, categoryList, technologyTerritory);
|
||||
data.setTechnologyTerritoryName(name);
|
||||
}
|
||||
if(administrator || StringUtils.equals(data.getCreateBy(),currentUser.getUsername())){
|
||||
data.setDeleteFlag(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -696,6 +703,29 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
return new Result<>().success("手动结束成功!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createQueryPermission(QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper, LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,boolean administrator) {
|
||||
if(!administrator){
|
||||
//如果不是超级管理员,获取自己创建的和所有参与过的法规技术评估数据。
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
QueryWrapper<LawsTechnologyEvaluationFlowDetailEO> flowDetailQueryWrap = new QueryWrapper<>();
|
||||
flowDetailQueryWrap.lambda().eq(LawsTechnologyEvaluationFlowDetailEO::getEvaluatorId,currentUser.getId());
|
||||
List<LawsTechnologyEvaluationFlowDetailEO> flowDetailEOList = this.lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailQueryWrap);
|
||||
if(CollectionUtils.isNotEmpty(flowDetailEOList)){
|
||||
List<String> lawsTechnologyEvaluationIdList = flowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId).distinct().collect(Collectors.toList());
|
||||
queryWrapper.and(query -> {
|
||||
query.eq("create_by",currentUser.getUsername());
|
||||
query.or(q -> {
|
||||
for (String lawsTechnologyEvaluationId : lawsTechnologyEvaluationIdList) {
|
||||
q.or().like("id",lawsTechnologyEvaluationId);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private String getTreeName(String cut, List<SysCategory> categoryList, List<String> technologyTerritoryList) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String technologyTerritory : technologyTerritoryList) {
|
||||
|
||||
+8
@@ -13,6 +13,7 @@ import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOServ
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -37,6 +38,8 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
public class ProblemKnowledgeBaseEOController extends JeroController<ProblemKnowledgeBaseEO, IProblemKnowledgeBaseEOService> {
|
||||
@Autowired
|
||||
private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -54,6 +57,11 @@ public class ProblemKnowledgeBaseEOController extends JeroController<ProblemKnow
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
//如果当前登录人是超级管理员角色,进入到管理发布页面时,查询所有的数据,其它用户只能查询自己创建的数据。
|
||||
if(administrator){
|
||||
problemKnowledgeBaseEO.setCreateBy(null);
|
||||
}
|
||||
QueryWrapper<ProblemKnowledgeBaseEO> queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseEO, req.getParameterMap());
|
||||
this.problemKnowledgeBaseEOService.createQueryPermission(queryWrapper,problemKnowledgeBaseEO);
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
|
||||
+7
-1
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.problemKnowledgeBase.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
@@ -156,7 +157,7 @@ public class ProblemKnowledgeBaseEO implements Serializable {
|
||||
/**发布日期*/
|
||||
@Excel(name = "发布日期", width = 15)
|
||||
@ApiModelProperty(value = "发布日期")
|
||||
private java.lang.String releaseTime;
|
||||
private Date releaseTime;
|
||||
|
||||
/**点赞总数量*/
|
||||
@TableField(exist = false)
|
||||
@@ -195,4 +196,9 @@ public class ProblemKnowledgeBaseEO implements Serializable {
|
||||
/**附件展示数组*/
|
||||
@TableField(exist = false)
|
||||
private List<OSSFile> accessoryFileNameList;
|
||||
|
||||
/**发布状态*/
|
||||
@Excel(name = "发布状态", width = 15)
|
||||
@ApiModelProperty(value = "发布状态")
|
||||
private String releaseStatus;
|
||||
}
|
||||
|
||||
+38
-21
@@ -24,6 +24,7 @@ import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.*;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.CollectStatusEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.PraiseStatusEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper;
|
||||
import com.jero.modules.problemKnowledgeBase.service.*;
|
||||
@@ -114,17 +115,19 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
Date now = new Date();
|
||||
problemKnowledgeBaseEO.setCreateTime(now);
|
||||
problemKnowledgeBaseEO.setUpdateTime(now);
|
||||
save(problemKnowledgeBaseEO);
|
||||
|
||||
//如果该条问题知识库的展示权限为私密,则创建权限表数据
|
||||
if(StringUtils.equals(problemKnowledgeBaseEO.getShowPermissions(), ShowPermissionsEnum.PRIVACY.getValue())){
|
||||
this.batchInsertProblemKnowledgeBaseUserEO(problemKnowledgeBaseEO);
|
||||
}
|
||||
/*else {
|
||||
//如果展示权限是公开,则把该数据插入到搜索中心中。
|
||||
//如果是已发布,将数据更新到es中。
|
||||
if(StringUtils.equals(problemKnowledgeBaseEO.getReleaseStatus(), ReleaseStatusEnum.HAVE_RELEASED.getValue())){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
problemKnowledgeBaseEO.setReleaseUserId(currentUser.getId());
|
||||
problemKnowledgeBaseEO.setReleaseTime(now);
|
||||
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
|
||||
}*/
|
||||
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
|
||||
}
|
||||
save(problemKnowledgeBaseEO);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -382,9 +385,9 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
}
|
||||
|
||||
if(StringUtils.isNotEmpty(fileText)){
|
||||
sbEn.append("Accessory File content" + ":" + fileText + " ");
|
||||
sbEn.append("Attachment" + ":" + fileText + " ");
|
||||
}else {
|
||||
sbEn.append("Accessory File content" + ":" + "-- ");
|
||||
sbEn.append("Attachment" + ":" + "-- ");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -435,15 +438,23 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
public void editById(ProblemKnowledgeBaseEO problemKnowledgeBaseEO) {
|
||||
Date now = new Date();
|
||||
problemKnowledgeBaseEO.setUpdateTime(now);
|
||||
saveOrUpdate(problemKnowledgeBaseEO);
|
||||
|
||||
//如果该条问题知识库的展示权限为私密,则创建权限表数据
|
||||
if(StringUtils.equals(problemKnowledgeBaseEO.getShowPermissions(), ShowPermissionsEnum.PRIVACY.getValue())){
|
||||
this.batchInsertProblemKnowledgeBaseUserEO(problemKnowledgeBaseEO);
|
||||
//this.deleteElasticsearchData(problemKnowledgeBaseEO.getId());
|
||||
}
|
||||
|
||||
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
|
||||
//如果是已发布,将数据更新到es中。
|
||||
if(StringUtils.equals(problemKnowledgeBaseEO.getReleaseStatus(), ReleaseStatusEnum.HAVE_RELEASED.getValue())){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
problemKnowledgeBaseEO.setReleaseUserId(currentUser.getId());
|
||||
problemKnowledgeBaseEO.setReleaseTime(now);
|
||||
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
|
||||
}else if(StringUtils.equals(problemKnowledgeBaseEO.getReleaseStatus(), ReleaseStatusEnum.DRAFT.getValue())){
|
||||
//如果是草稿,将es中的数据删掉。
|
||||
this.deleteElasticsearchData(problemKnowledgeBaseEO.getId());
|
||||
}
|
||||
saveOrUpdate(problemKnowledgeBaseEO);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -750,26 +761,32 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
|
||||
@Override
|
||||
public void createQueryPermission(QueryWrapper<ProblemKnowledgeBaseEO> queryWrapper,ProblemKnowledgeBaseEO problemKnowledgeBaseEO) {
|
||||
/**
|
||||
* 查询权限
|
||||
* 公开:所有人都可以看到。
|
||||
* 私密:只有配置了的权限用户可以看到。
|
||||
* 2022-10-13增加权限,超级管理员可以看到所有的问题知识库数据。
|
||||
*/
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
QueryWrapper<ProblemKnowledgeBaseUserEO> userPermissionQueryWrapper = new QueryWrapper<>();
|
||||
userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId());
|
||||
List<ProblemKnowledgeBaseUserEO> problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper);
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
if(!administrator){
|
||||
/**
|
||||
* 查询权限
|
||||
* 公开:所有人都可以看到。
|
||||
* 私密:只有配置了的权限用户可以看到。
|
||||
*/
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
QueryWrapper<ProblemKnowledgeBaseUserEO> userPermissionQueryWrapper = new QueryWrapper<>();
|
||||
userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId());
|
||||
List<ProblemKnowledgeBaseUserEO> problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper);
|
||||
|
||||
List<String> problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList());
|
||||
List<String> problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList());
|
||||
|
||||
queryWrapper.lambda().and(query -> {
|
||||
query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue());
|
||||
queryWrapper.lambda().and(query -> {
|
||||
query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue());
|
||||
if(CollectionUtils.isNotEmpty(problemKnowledgeBaseIdList)){
|
||||
query.or(o -> {
|
||||
o.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.PRIVACY.getValue());
|
||||
o.in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
String searchStr = problemKnowledgeBaseEO.getSearchStr();
|
||||
if(StringUtils.isNotEmpty(searchStr)){
|
||||
|
||||
+120
-28
@@ -14,9 +14,11 @@ import com.jero.common.util.RedisUtil;
|
||||
import com.jero.common.util.TokenUtils;
|
||||
import com.jero.modules.dummy.service.impl.DummyInventoryInfoEOServiceImpl;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
import com.jero.modules.ocr.entity.User;
|
||||
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.project.enums.ProjectInventoryFieldEnum;
|
||||
import com.jero.modules.project.enums.ProjectRoleEnum;
|
||||
import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper;
|
||||
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
@@ -967,6 +969,11 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
*/
|
||||
@Override
|
||||
public Result<?> oppositeDisposeData(List<ProjectRelatedPersonnel> records, String projectId, String cut) {
|
||||
//查询所有的用户
|
||||
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.select(SysUser::getUsername,SysUser::getId);
|
||||
List<SysUser> userList = sysUserService.list(wrapper);
|
||||
|
||||
Result<?> result = new Result<>();
|
||||
int row=3;
|
||||
StringBuilder message = new StringBuilder();
|
||||
@@ -1021,15 +1028,18 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
List<String> lawEngineerNameList = Arrays.asList(projectRelatedPersonnel.getLawEngineerName().split(","));
|
||||
if (CollectionUtils.isNotEmpty(lawEngineerNameList) && StringUtils.isNotBlank(lawEngineerNameList.get(0))) {
|
||||
lawEngineerNameList = lawEngineerNameList.stream().distinct().collect(Collectors.toList());
|
||||
lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList);
|
||||
if(lawEngineerUsers.size()!=lawEngineerNameList.size()){
|
||||
//中英切换提示语
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的法规工程师姓名有误,请检查第" + row + "行");
|
||||
}else{
|
||||
message.append("The imported law engineer is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//验证导入的相关人员
|
||||
lawEngineerUsers = personnelMatch(userList, lawEngineerNameList, message, ProjectRoleEnum.REGULATI_ENGINEER.getValue(), cut, row);
|
||||
|
||||
// lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList);
|
||||
// if(lawEngineerUsers.size()!=lawEngineerNameList.size()){
|
||||
// //中英切换提示语
|
||||
// if(CutEnum.CN.getValue().equals(cut)) {
|
||||
// message.append("导入的法规工程师姓名有误,请检查第" + row + "行");
|
||||
// }else{
|
||||
// message.append("The imported law engineer is wrong.Please check line " + row );
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(lawEngineerUsers)) {
|
||||
@@ -1055,15 +1065,18 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
List<String> engineeringInterfacePersonNameList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePersonName().split(","));
|
||||
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList) && StringUtils.isNotBlank(engineeringInterfacePersonNameList.get(0))) {
|
||||
engineeringInterfacePersonNameList = engineeringInterfacePersonNameList.stream().distinct().collect(Collectors.toList());
|
||||
engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList);
|
||||
if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){
|
||||
//中英切换提示语
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的工程接口人姓名有误,请检查第" + row + "行");
|
||||
}else{
|
||||
message.append("The imported engineering interface person is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//验证导入的相关人员
|
||||
engineeringInterfacePersonUsers = personnelMatch(userList, engineeringInterfacePersonNameList, message, ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue(), cut, row);
|
||||
|
||||
// engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList);
|
||||
// if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){
|
||||
// //中英切换提示语
|
||||
// if(CutEnum.CN.getValue().equals(cut)) {
|
||||
// message.append("导入的工程接口人姓名有误,请检查第" + row + "行");
|
||||
// }else{
|
||||
// message.append("The imported engineering interface person is wrong.Please check line " + row );
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) {
|
||||
@@ -1090,8 +1103,13 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
//校验是否为项目基础表设定的认证工程师
|
||||
List<ProjectRelatedPersonnel> baseCertificationEngineerList = queryCertificationEngineer(projectId);
|
||||
List<String> baseCertificationEngineerNameList = baseCertificationEngineerList.stream().map(e -> e.getCertificationEngineerName()).collect(Collectors.toList());
|
||||
//转为小写后在判断
|
||||
List<String> baseCertificationEngineerNameListTemp = new ArrayList<>();
|
||||
for (String s : baseCertificationEngineerNameList) {
|
||||
baseCertificationEngineerNameListTemp.add(s.toLowerCase());
|
||||
}
|
||||
for(String certificationEngineerName : certificationEngineerNameList){
|
||||
if(!baseCertificationEngineerNameList.contains(certificationEngineerName)){
|
||||
if(!baseCertificationEngineerNameListTemp.contains(certificationEngineerName.toLowerCase())){
|
||||
//中英切换提示语
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的认证工程师姓名不属于该项目,请检查第" + row + "行");
|
||||
@@ -1101,18 +1119,32 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
break;
|
||||
}
|
||||
}
|
||||
// for(String certificationEngineerName : certificationEngineerNameList){
|
||||
// if(!baseCertificationEngineerNameList.contains(certificationEngineerName.toLowerCase())){
|
||||
// //中英切换提示语
|
||||
// if(CutEnum.CN.getValue().equals(cut)) {
|
||||
// message.append("导入的认证工程师姓名不属于该项目,请检查第" + row + "行");
|
||||
// }else {
|
||||
// message.append("The imported certified engineer name does not belong to this project..Please check line " + row );
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
if (CollectionUtils.isNotEmpty(certificationEngineerNameList) && StringUtils.isNotBlank(certificationEngineerNameList.get(0))) {
|
||||
certificationEngineerNameList = certificationEngineerNameList.stream().distinct().collect(Collectors.toList());
|
||||
certificationEngineerUsers=sysUserService.queryUserIdListByNameList(certificationEngineerNameList);
|
||||
if(certificationEngineerUsers.size()!=certificationEngineerNameList.size()){
|
||||
//中英切换提示语
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的认证工程师姓名有误,请检查第" + row + "行");
|
||||
}else {
|
||||
message.append("The imported certification engineer is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//验证导入的相关人员
|
||||
certificationEngineerUsers = personnelMatch(userList, certificationEngineerNameList, message, ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue(), cut, row);
|
||||
|
||||
// certificationEngineerUsers=sysUserService.queryUserIdListByNameList(certificationEngineerNameList);
|
||||
// if(certificationEngineerUsers.size()!=certificationEngineerNameList.size()){
|
||||
// //中英切换提示语
|
||||
// if(CutEnum.CN.getValue().equals(cut)) {
|
||||
// message.append("导入的认证工程师姓名有误,请检查第" + row + "行");
|
||||
// }else {
|
||||
// message.append("The imported certification engineer is wrong.Please check line " + row );
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(certificationEngineerUsers)) {
|
||||
@@ -1156,6 +1188,66 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证导入的相关人员
|
||||
* @param userList 所有的用户
|
||||
* @param personnelList 相关人员(法规工程师,认证工程师,工程接口人)
|
||||
* @param message 异常信息拼接
|
||||
* @param personnelType 人员类型
|
||||
* @param cut 中英文切换
|
||||
* @param row 行数
|
||||
*/
|
||||
public List<SysUser> personnelMatch(List<SysUser> userList,
|
||||
List<String> personnelList,
|
||||
StringBuilder message,
|
||||
String personnelType,
|
||||
String cut,
|
||||
int row){
|
||||
int count = 0;
|
||||
//全部转为小写来匹配
|
||||
List<SysUser> sysUserList = new ArrayList<>();
|
||||
for (String personnel : personnelList) {
|
||||
String personnelLower = personnel.toLowerCase();
|
||||
for (SysUser sysUser : userList) {
|
||||
String username = sysUser.getUsername();
|
||||
String usernameLower = username.toLowerCase();
|
||||
if(personnelLower.equals(usernameLower)){
|
||||
sysUserList.add(sysUser);
|
||||
count ++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(personnelList.size() != count){
|
||||
//法规工程师异常提示语
|
||||
if(ProjectRoleEnum.REGULATI_ENGINEER.getValue().equals(personnelType)){
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的工程接口人姓名有误,请检查第" + row + "行");
|
||||
}else{
|
||||
message.append("The imported engineering interface person is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//认证工程师异常提示语
|
||||
if(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue().equals(personnelType)){
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的认证工程师姓名有误,请检查第" + row + "行");
|
||||
}else {
|
||||
message.append("The imported certification engineer is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//工程接口人异常提示语
|
||||
if(ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue().equals(personnelType)){
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的工程接口人姓名有误,请检查第" + row + "行");
|
||||
}else{
|
||||
message.append("The imported engineering interface person is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
}else{
|
||||
return sysUserList;
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectRelatedPersonnel queryByProjectIdAndDutyTerritory(String projectId, String dutyTerritory) {
|
||||
LambdaQueryWrapper<ProjectRelatedPersonnel> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
+23
-2
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.report.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
@@ -62,9 +63,29 @@ public class LawsMonthlyReportWriteEOController extends JeroController<LawsMonth
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<LawsMonthlyReportWriteEO> pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req);
|
||||
return Result.OK(pageList);
|
||||
List<LawsMonthlyReportWriteEO> listInfo = lawsMonthlyReportWriteEOService.getListInfo(lawsMonthlyReportWriteEO, pageNo, pageSize, req);
|
||||
Page pages = lawsMonthlyReportWriteEOService.getPages(pageNo, pageSize, listInfo);
|
||||
return Result.OK(pages);
|
||||
}
|
||||
// /**
|
||||
// * 分页列表查询
|
||||
// *
|
||||
// * @param lawsMonthlyReportWriteEO
|
||||
// * @param pageNo
|
||||
// * @param pageSize
|
||||
// * @param req
|
||||
// * @return
|
||||
// */
|
||||
// @AutoLog(value = "月报填写-分页列表查询")
|
||||
// @ApiOperation(value="月报填写-分页列表查询", notes="月报填写-分页列表查询")
|
||||
// @GetMapping(value = "/page")
|
||||
// public Result<?> queryPageList(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
|
||||
// @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
// @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
// HttpServletRequest req) {
|
||||
// IPage<LawsMonthlyReportWriteEO> pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req);
|
||||
// return Result.OK(pageList);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
|
||||
+7
-2
@@ -13,7 +13,6 @@ import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -29,7 +28,7 @@ import java.util.List;
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="laws_monthly_report_title_template对象", description="月报标题模板")
|
||||
public class LawsMonthlyReportTitleTemplateEO implements Serializable {
|
||||
public class LawsMonthlyReportTitleTemplateEO implements Comparable<LawsMonthlyReportTitleTemplateEO> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**主键*/
|
||||
@@ -84,4 +83,10 @@ public class LawsMonthlyReportTitleTemplateEO implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
private String key;
|
||||
|
||||
@Override
|
||||
public int compareTo(LawsMonthlyReportTitleTemplateEO o) {
|
||||
return this.sort-o.sort;//升序
|
||||
// return o.id-this.id;//降序
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -116,7 +116,7 @@ public class LawsMonthlyReportWriteEO implements Serializable {
|
||||
/**适用范围*/
|
||||
@Excel(name = "适用范围", width = 15)
|
||||
@ApiModelProperty(value = "适用范围")
|
||||
@Dict(dicCode ="apply_scope")
|
||||
@Dict(dicCode ="fa3_gui1_yue4_bao4_-_shi4_yong4_fan4_wei2")
|
||||
private java.lang.String applyScope;
|
||||
|
||||
/**状态*/
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ package com.jero.modules.report.enums;
|
||||
*/
|
||||
public enum DictCodeReportEnum {
|
||||
APPLYCAR("适用车型","car_type"),
|
||||
APPLYSCOPE("适用范围","apply_scope"),
|
||||
APPLYSCOPE("适用范围","fa3_gui1_yue4_bao4_-_shi4_yong4_fan4_wei2"),
|
||||
STATE("状态","state"),
|
||||
USEMETHOD("用法","yong4_fa3");
|
||||
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@ package com.jero.modules.report.enums;
|
||||
* @auth zhn
|
||||
*/
|
||||
public enum ExportStateEnum {
|
||||
NOT_EXPORT("未导出","Not export","1"),
|
||||
HAS_BEEN_EXPORT("已导出","Has been export","2");
|
||||
NOT_EXPORT("未导出","Not exported","1"),
|
||||
HAS_BEEN_EXPORT("已导出","Exported","2");
|
||||
|
||||
|
||||
String name;
|
||||
|
||||
+8
-1
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.report.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
|
||||
|
||||
@@ -72,7 +73,11 @@ public interface ILawsMonthlyReportWriteEOService extends IService<LawsMonthlyRe
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
|
||||
// IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
|
||||
// Integer pageNo,
|
||||
// Integer pageSize,
|
||||
// HttpServletRequest req);
|
||||
List<LawsMonthlyReportWriteEO> getListInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
|
||||
Integer pageNo,
|
||||
Integer pageSize,
|
||||
HttpServletRequest req);
|
||||
@@ -82,4 +87,6 @@ public interface ILawsMonthlyReportWriteEOService extends IService<LawsMonthlyRe
|
||||
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO);
|
||||
|
||||
IPage queryPageDocument(Map<String, Object> parameter);
|
||||
|
||||
Page getPages(Integer currentPage, Integer pageSize, List<LawsMonthlyReportWriteEO> list);
|
||||
}
|
||||
|
||||
+375
-12
@@ -60,8 +60,10 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -288,7 +290,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp,
|
||||
public List<LawsMonthlyReportWriteEO> getListInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp,
|
||||
Integer pageNo,
|
||||
Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
@@ -300,11 +302,48 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){
|
||||
queryWrapper.in("create_by",currentUser.getUsername());
|
||||
}
|
||||
Page<LawsMonthlyReportWriteEO> page = new Page<LawsMonthlyReportWriteEO>(pageNo, pageSize);
|
||||
Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
|
||||
// Page<LawsMonthlyReportWriteEO> page = new Page<LawsMonthlyReportWriteEO>(pageNo, pageSize);
|
||||
// Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
|
||||
|
||||
|
||||
//所有的月报
|
||||
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOList = this.list(queryWrapper);
|
||||
//所有月报的一级目录
|
||||
List<String> oneMenuIdLIst = lawsMonthlyReportWriteEOList.stream().map(LawsMonthlyReportWriteEO::getMemoriesChapterOne).distinct().collect(Collectors.toList());
|
||||
//月报标题模板
|
||||
LambdaQueryWrapper<LawsMonthlyReportTitleTemplateEO> wrapperTemp = new LambdaQueryWrapper<>();
|
||||
wrapperTemp.orderByAsc(LawsMonthlyReportTitleTemplateEO::getSort);
|
||||
List<LawsMonthlyReportTitleTemplateEO> list = lawsMonthlyReportTitleTemplateEOService.list(wrapperTemp);
|
||||
//1. 一级目录
|
||||
List<LawsMonthlyReportTitleTemplateEO> oneList = list.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList());
|
||||
oneList = oneList.stream().filter(e -> oneMenuIdLIst.contains(e.getId())).collect(Collectors.toList());
|
||||
Collections.sort(oneList);//正序排序
|
||||
|
||||
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS = new LinkedList<>();
|
||||
for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : oneList) {
|
||||
String oneId = lawsMonthlyReportTitleTemplateEO.getId();
|
||||
//一级目录下的二级目录
|
||||
List<LawsMonthlyReportTitleTemplateEO> twoList = list.stream().filter(e -> StringUtils.isNotBlank(e.getParentId()) && oneId.equals(e.getParentId())).collect(Collectors.toList());
|
||||
Collections.sort(twoList);//正序排序
|
||||
|
||||
//一级目录下的月报
|
||||
for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : twoList) {
|
||||
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) {
|
||||
if(oneId.equals(lawsMonthlyReportWriteEO.getMemoriesChapterOne()) && monthlyReportTitleTemplateEO.getId().equals(lawsMonthlyReportWriteEO.getMemoriesChapter())){
|
||||
lawsMonthlyReportWriteEOS.add(lawsMonthlyReportWriteEO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOListOne = lawsMonthlyReportWriteEOList.stream()
|
||||
// .filter(e -> oneId.equals(e.getMemoriesChapterOne())).collect(Collectors.toList());
|
||||
// lawsMonthlyReportWriteEOS.addAll(lawsMonthlyReportWriteEOListOne);
|
||||
}
|
||||
|
||||
|
||||
//法规月报id
|
||||
List<String> lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
|
||||
List<String> userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList());
|
||||
List<String> lawsMonthlyReportIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
|
||||
List<String> userIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList());
|
||||
List<String> userIds = new ArrayList<>();
|
||||
for (String s : userIdList) {
|
||||
if(StringUtils.isNotBlank(s)){
|
||||
@@ -343,7 +382,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
}
|
||||
|
||||
|
||||
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) {
|
||||
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOS) {
|
||||
//处理法规联系人
|
||||
lawsContact(userList, lawsMonthlyReportWriteEO,lawsMonthlyReportWriteEOTemp.getCut());
|
||||
//处理章节目录
|
||||
@@ -398,8 +437,121 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
}
|
||||
}
|
||||
}
|
||||
return pageInfo;
|
||||
return lawsMonthlyReportWriteEOS;
|
||||
}
|
||||
// @Override
|
||||
// public IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp,
|
||||
// Integer pageNo,
|
||||
// Integer pageSize,
|
||||
// HttpServletRequest req) {
|
||||
// QueryWrapper<LawsMonthlyReportWriteEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap());
|
||||
// queryWrapper.orderByDesc("memories_chapter_one","memories_chapter","create_time");
|
||||
// //管理员查看全部数据,其余人只能查看自己的数据
|
||||
// LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// List<String> rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername());
|
||||
// if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){
|
||||
// queryWrapper.in("create_by",currentUser.getUsername());
|
||||
// }
|
||||
// Page<LawsMonthlyReportWriteEO> page = new Page<LawsMonthlyReportWriteEO>(pageNo, pageSize);
|
||||
// Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
|
||||
// //法规月报id
|
||||
// List<String> lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
|
||||
// List<String> userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList());
|
||||
// List<String> userIds = new ArrayList<>();
|
||||
// for (String s : userIdList) {
|
||||
// if(StringUtils.isNotBlank(s)){
|
||||
// if(s.contains(",")){
|
||||
// userIds.addAll(Arrays.asList(s.split(",")));
|
||||
// }else{
|
||||
// userIds.add(s);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// List<JSONObject> jsonObjects = sysBaseApi.queryUsersByIds(StringUtils.join(userIds, ","));
|
||||
// List<LoginUser> userList = new ArrayList<>();
|
||||
// for (JSONObject jsonObject : jsonObjects) {
|
||||
// LoginUser loginUser = JSONObject.parseObject(jsonObject.toJSONString(), LoginUser.class);
|
||||
// userList.add(loginUser);
|
||||
// }
|
||||
//
|
||||
// //获取章节目录
|
||||
// List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list();
|
||||
//
|
||||
// //新征求意见清单模板
|
||||
// List<NewOpinionTemplateEO> newOpinionTemplateEOList = new ArrayList<>();
|
||||
// if(lawsMonthlyReportIdList.size() != 0){
|
||||
// LambdaQueryWrapper<NewOpinionTemplateEO> wrapper = new LambdaQueryWrapper<>();
|
||||
// wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList);
|
||||
// newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// //新发布标准清单模板
|
||||
// List<NewStandardTemplateEO> newStandardTemplateEOList = new ArrayList<>();
|
||||
// if(lawsMonthlyReportIdList.size() != 0){
|
||||
// LambdaQueryWrapper<NewStandardTemplateEO> qrapperTemp = new LambdaQueryWrapper<>();
|
||||
// qrapperTemp.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList);
|
||||
// newStandardTemplateEOList = iNewStandardTemplateEOService.list(qrapperTemp);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) {
|
||||
// //处理法规联系人
|
||||
// lawsContact(userList, lawsMonthlyReportWriteEO,lawsMonthlyReportWriteEOTemp.getCut());
|
||||
// //处理章节目录
|
||||
// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){
|
||||
// List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream()
|
||||
// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList());
|
||||
// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
|
||||
// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn());
|
||||
// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
|
||||
// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn());
|
||||
// }
|
||||
// }
|
||||
// //处理章节目录对应的一级目录
|
||||
// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapterOne())){
|
||||
// List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream()
|
||||
// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapterOne().equals(e.getId())).collect(Collectors.toList());
|
||||
// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
|
||||
// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn());
|
||||
// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
|
||||
// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
|
||||
// //新征求意见清单模板
|
||||
// List<NewOpinionTemplateEO> collect = newOpinionTemplateEOList.stream()
|
||||
// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList());
|
||||
// lawsMonthlyReportWriteEO.setNewOpinionTemplateEOList(collect);
|
||||
//
|
||||
// }else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
|
||||
// //新发布标准清单模板
|
||||
// List<NewStandardTemplateEO> collect = newStandardTemplateEOList.stream()
|
||||
// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList());
|
||||
// lawsMonthlyReportWriteEO.setNewStandardTemplateEOList(collect);
|
||||
// }
|
||||
//
|
||||
// //处理导出状态
|
||||
// String exportState = lawsMonthlyReportWriteEO.getExportState();
|
||||
// if(StringUtils.isNotBlank(exportState)){
|
||||
// if(ExportStateEnum.NOT_EXPORT.getValue().equals(exportState)){
|
||||
// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){
|
||||
// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getName());
|
||||
// }else{
|
||||
// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getNameEn());
|
||||
// }
|
||||
// }else if(ExportStateEnum.HAS_BEEN_EXPORT.getValue().equals(exportState)){
|
||||
// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){
|
||||
// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getName());
|
||||
// }else{
|
||||
// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getNameEn());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return pageInfo;
|
||||
// }
|
||||
|
||||
private void lawsContact(List<LoginUser> userList, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,String cut) {
|
||||
String lawsContact = lawsMonthlyReportWriteEO.getLawsContact();
|
||||
@@ -873,38 +1025,221 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
}
|
||||
}
|
||||
|
||||
//封面
|
||||
//封面(office版本)
|
||||
private void coverCn(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
|
||||
String titleCN,
|
||||
XWPFDocument document) {
|
||||
//封面标识
|
||||
String flag = "cover";
|
||||
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
|
||||
//标题前面添加一个换行
|
||||
WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, null,
|
||||
false, false, "Blue Sky Noto Regular",null,null,"break");
|
||||
|
||||
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
|
||||
//添加标题
|
||||
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
|
||||
//标题下面添加9个换行
|
||||
for (int i = 0; i < 9; i++) {
|
||||
WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, null,
|
||||
false, false, "Blue Sky Noto Regular",null,null,"break");
|
||||
}
|
||||
WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
|
||||
String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0];
|
||||
String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1];
|
||||
int mothLast = Integer.valueOf(mothNew) + 1;
|
||||
|
||||
//添加说明 2022/7/15 至 2022/8/14 期间发布的主要内容
|
||||
String text = year + "/" + mothNew +"/15 至 "+year+"/"+mothLast+"/14期间发布的主要内容";
|
||||
WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
|
||||
//添加换行
|
||||
WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null,
|
||||
false, false, null,null,null,flag);
|
||||
|
||||
//添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队
|
||||
String text1 = "编辑: 整车工程 - 法规与认证&环保与材料科团队";
|
||||
WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
|
||||
//添加下一页
|
||||
document.createParagraph().createRun().addBreak(BreakType.PAGE);
|
||||
}
|
||||
//封面
|
||||
//封面(WPS版本)
|
||||
// private void coverCn(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
|
||||
// String titleCN,
|
||||
// XWPFDocument document) {
|
||||
// //封面标识
|
||||
// String flag = "cover";
|
||||
// String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
|
||||
//
|
||||
// titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
|
||||
// WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
|
||||
// false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
// WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
|
||||
// false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//
|
||||
// String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0];
|
||||
// String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1];
|
||||
// int mothLast = Integer.valueOf(mothNew) + 1;
|
||||
//
|
||||
// //添加说明 2022/7/15 至 2022/8/14 期间发布的主要内容
|
||||
// String text = year + "/" + mothNew +"/15 至 "+year+"/"+mothLast+"/14期间发布的主要内容";
|
||||
// WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11,
|
||||
// false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//
|
||||
// //添加换行
|
||||
// WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null,
|
||||
// false, false, null,null,null,flag);
|
||||
//
|
||||
// //添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队
|
||||
// String text1 = "编辑: 整车工程 - 法规与认证&环保与材料科团队";
|
||||
// WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11,
|
||||
// false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//
|
||||
// //添加下一页
|
||||
// document.createParagraph().createRun().addBreak(BreakType.PAGE);
|
||||
// }
|
||||
//封面(office版本)
|
||||
private void coverEn(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
|
||||
String titleCN,
|
||||
XWPFDocument document) {
|
||||
//封面标识
|
||||
String flag = "cover";
|
||||
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
|
||||
|
||||
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
|
||||
String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0];
|
||||
String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1];
|
||||
int mothLast = Integer.valueOf(mothNew) + 1;
|
||||
String moth = mothNew+"/"+year;
|
||||
String mothNewEn = getMothEn(mothNew);
|
||||
String mothLastEn = getMothEn(String.valueOf(mothLast));
|
||||
|
||||
//标题前面添加一个换行
|
||||
WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, null,
|
||||
false, false, "Blue Sky Noto Regular",null,null,"break");
|
||||
|
||||
//添加标题
|
||||
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//标题下面添加8个换行
|
||||
for (int i = 0; i < 8; i++) {
|
||||
WordUtil.exportWord(document, "", null, ParagraphAlignment.CENTER, 0, null,
|
||||
false, false, "Blue Sky Noto Regular",null,null,"break");
|
||||
}
|
||||
|
||||
WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
|
||||
|
||||
|
||||
//添加说明 Update between July 15, 2022 and August 14, 2022
|
||||
String text = "Update between "+mothNewEn+" 15,"+year+" and "+mothLastEn+" 14,"+year;
|
||||
WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
|
||||
//添加换行
|
||||
WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null,
|
||||
false, false, null,null,null,flag);
|
||||
|
||||
//添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队
|
||||
String text1 = "Edit By: Regulation & Homologation, Environmental & Materials Team";
|
||||
WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
|
||||
//添加下一页
|
||||
document.createParagraph().createRun().addBreak(BreakType.PAGE);
|
||||
}
|
||||
//封面(WPS版本)
|
||||
// private void coverEn(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
|
||||
// String titleCN,
|
||||
// XWPFDocument document) {
|
||||
// //封面标识
|
||||
// String flag = "cover";
|
||||
//
|
||||
// String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0];
|
||||
// String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1];
|
||||
// int mothLast = Integer.valueOf(mothNew) + 1;
|
||||
// String moth = mothNew+"/"+year;
|
||||
// String mothNewEn = getMothEn(mothNew);
|
||||
// String mothLastEn = getMothEn(String.valueOf(mothLast));
|
||||
//
|
||||
//// String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
|
||||
//
|
||||
// titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
|
||||
// WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
|
||||
// false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
// WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
|
||||
// false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//
|
||||
//
|
||||
//
|
||||
// //添加说明 Update between July 15, 2022 and August 14, 2022
|
||||
// String text = "Update between "+mothNewEn+" 15,"+year+" and "+mothLastEn+" 14,"+year;
|
||||
// WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11,
|
||||
// false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//
|
||||
// //添加换行
|
||||
// WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null,
|
||||
// false, false, null,null,null,flag);
|
||||
//
|
||||
// //添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队
|
||||
// String text1 = "Edit By: Regulation & Homologation, Environmental & Materials Team";
|
||||
// WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11,
|
||||
// false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//
|
||||
// //添加下一页
|
||||
// document.createParagraph().createRun().addBreak(BreakType.PAGE);
|
||||
// }
|
||||
|
||||
private String getMothEn(String moth){
|
||||
String result = "";
|
||||
switch (moth) {
|
||||
// 心跳检测
|
||||
case "1":
|
||||
result = "January";
|
||||
break;
|
||||
case "2":
|
||||
result = "February";
|
||||
break;
|
||||
case "3":
|
||||
result = "March";
|
||||
break;
|
||||
case "4":
|
||||
result = "April";
|
||||
break;
|
||||
case "5":
|
||||
result = "May";
|
||||
break;
|
||||
case "6":
|
||||
result = "June";
|
||||
break;
|
||||
case "7":
|
||||
result = "July";
|
||||
break;
|
||||
case "8":
|
||||
result = "August";
|
||||
break;
|
||||
case "9":
|
||||
result = "September";
|
||||
break;
|
||||
case "10":
|
||||
result = "October";
|
||||
break;
|
||||
case "11":
|
||||
result = "November";
|
||||
break;
|
||||
case "12":
|
||||
result = "December";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
private void wordContent(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
|
||||
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS,
|
||||
List<LawsMonthlyReportTitleTemplateEO> reportTitleOneList,
|
||||
@@ -1179,4 +1514,32 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
return infoPage;
|
||||
}
|
||||
|
||||
|
||||
public Page getPages(Integer currentPage, Integer pageSize, List<LawsMonthlyReportWriteEO> list){
|
||||
Page page =new Page();
|
||||
if(list==null){
|
||||
return null;
|
||||
}
|
||||
int size = list.size();
|
||||
if(pageSize > size){
|
||||
pageSize = size;
|
||||
}
|
||||
if(pageSize!=0){
|
||||
//求出最⼤页数,防⽌currentPage越界
|
||||
int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1;
|
||||
if(currentPage > maxPage){
|
||||
currentPage = maxPage;
|
||||
}
|
||||
}
|
||||
//当前页第⼀条数据的下标
|
||||
int curIdx = currentPage >1?(currentPage -1)* pageSize :0;
|
||||
List pageList =new ArrayList();
|
||||
//将当前页的数据放进pageList
|
||||
for(int i =0; i < pageSize && curIdx + i < size; i++){
|
||||
pageList.add(list.get(curIdx + i));
|
||||
}
|
||||
page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList);
|
||||
return page;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+188
-93
@@ -128,6 +128,10 @@ public class WordUtil {
|
||||
}
|
||||
|
||||
XWPFRun titleParagraphRun = titleParagraph.createRun();
|
||||
//封面中的换行
|
||||
if("break".equals(flag)){
|
||||
titleParagraphRun.addBreak();
|
||||
}
|
||||
if (isNewline) {
|
||||
titleParagraphRun.setText("\r");
|
||||
} else {
|
||||
@@ -202,45 +206,7 @@ public class WordUtil {
|
||||
styles.addStyle(style);
|
||||
}
|
||||
|
||||
// @SneakyThrows
|
||||
// public static void exportHeardAndFoot(XWPFDocument document){
|
||||
//// XWPFDocument document = new XWPFDocument();
|
||||
//
|
||||
// // create header-footer
|
||||
// XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
|
||||
// if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();
|
||||
//
|
||||
// // create header start
|
||||
// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
|
||||
//
|
||||
// XWPFParagraph paragraph = header.createParagraph();
|
||||
// paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
//
|
||||
// XWPFRun run = paragraph.createRun();
|
||||
// run.setText("Header");
|
||||
//
|
||||
// // create footer start
|
||||
// XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
|
||||
//
|
||||
// paragraph = footer.createParagraph();
|
||||
// paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
//
|
||||
// run = paragraph.createRun();
|
||||
// run.setText("Footer");
|
||||
//
|
||||
// CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
||||
// if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
|
||||
// CTPageMar pageMar = sectPr.getPgMar();
|
||||
// if (pageMar == null) pageMar = sectPr.addNewPgMar();
|
||||
// pageMar.setLeft(BigInteger.valueOf(2000)); //720 TWentieths of an Inch Point (Twips) = 720/20 = 36 pt = 36/72 = 0.5"
|
||||
// pageMar.setRight(BigInteger.valueOf(720));
|
||||
// pageMar.setTop(BigInteger.valueOf(1440)); //1440 Twips = 1440/20 = 72 pt = 72/72 = 1"
|
||||
// pageMar.setBottom(BigInteger.valueOf(1440));
|
||||
//
|
||||
// pageMar.setHeader(BigInteger.valueOf(2000)); //45.4 pt * 20 = 908 = 45.4 pt header from top
|
||||
// pageMar.setFooter(BigInteger.valueOf(568)); //28.4 pt * 20 = 568 = 28.4 pt footer from bottom
|
||||
//
|
||||
// }
|
||||
//主要内容生成页眉页脚(office版本)
|
||||
@SneakyThrows
|
||||
public static void exportHeardAndFoot(XWPFDocument document,String month){
|
||||
XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
|
||||
@@ -266,7 +232,7 @@ public class WordUtil {
|
||||
picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID);
|
||||
run.addTab();
|
||||
is.close();
|
||||
run.setText(" "+month);
|
||||
run.setText(" "+month);
|
||||
run.setFontSize(11);
|
||||
run.setFontFamily("Blue Sky Noto Regular");
|
||||
}
|
||||
@@ -313,20 +279,107 @@ public class WordUtil {
|
||||
|
||||
CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
||||
if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
|
||||
//设置页面大小
|
||||
//设置页面大小(21*29.7)
|
||||
CTPageSz pgSz = sectPr.addNewPgSz();
|
||||
pgSz.setW(BigInteger.valueOf(11907));
|
||||
pgSz.setH(BigInteger.valueOf(16840));
|
||||
pgSz.setW(BigInteger.valueOf(11905));
|
||||
pgSz.setH(BigInteger.valueOf(16838));
|
||||
CTPageMar pageMar = sectPr.getPgMar();
|
||||
if (pageMar == null) pageMar = sectPr.addNewPgMar();
|
||||
pageMar.setLeft(BigInteger.valueOf(1803)); //左边距
|
||||
pageMar.setRight(BigInteger.valueOf(1803));//右边距
|
||||
pageMar.setLeft(BigInteger.valueOf(1797)); //左边距
|
||||
pageMar.setRight(BigInteger.valueOf(1797));//右边距
|
||||
pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度
|
||||
pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度
|
||||
|
||||
pageMar.setHeader(BigInteger.valueOf(720)); //页眉上边框到顶部的距离
|
||||
pageMar.setFooter(BigInteger.valueOf(720)); //页脚下边框到底部的距离
|
||||
}
|
||||
//主要内容生成页眉页脚(WPS版本)
|
||||
// @SneakyThrows
|
||||
// public static void exportHeardAndFoot(XWPFDocument document,String month){
|
||||
// XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
|
||||
// if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();
|
||||
// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
|
||||
//
|
||||
//// String logoFilePath = "/jero-boot/home/weilai.png";
|
||||
// String logoFilePath = WordUtil.class.getClassLoader().getResource("static/home/weilai.png").getPath();
|
||||
// //页眉第一个段落展示logo-----------------------------------------------------------------------------------
|
||||
// if (org.apache.commons.lang3.StringUtils.isNotBlank(logoFilePath)) {
|
||||
// XWPFParagraph logo = header.createParagraph();
|
||||
// logo.setAlignment(ParagraphAlignment.LEFT);
|
||||
// XWPFRun run = logo.createRun();
|
||||
//
|
||||
// String imgFile = logoFilePath;
|
||||
// InputStream is = WordUtil.class.getClassLoader().getResourceAsStream("static/home/weilai.png");
|
||||
//// InputStream is = new FileInputStream(imgFile);
|
||||
// XWPFPicture picture = run.addPicture(is, XWPFDocument.PICTURE_TYPE_PNG, imgFile, Units.toEMU(95), Units.toEMU(35));
|
||||
// String blipID = "";
|
||||
// for(XWPFPictureData picturedata : header.getAllPackagePictures()) { //这段必须有,不然打开的logo图片不显示
|
||||
// blipID = header.getRelationId(picturedata);
|
||||
// }
|
||||
// picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID);
|
||||
// run.addTab();
|
||||
// is.close();
|
||||
// run.setText(" "+month);
|
||||
// run.setFontSize(11);
|
||||
// run.setFontFamily("Blue Sky Noto Regular");
|
||||
// }
|
||||
// //页眉第二个段落展示日期------------------------------------------------------------
|
||||
// XWPFParagraph paragraph = header.createParagraph();//创建新的段落
|
||||
//// paragraph.setAlignment(ParagraphAlignment.RIGHT);//段落文本的对齐方式
|
||||
// XWPFRun run = paragraph.createRun();
|
||||
//// run.setText(month);
|
||||
//
|
||||
// //页脚(三个段落分别展示3个内容)-----------------------------------------------------
|
||||
// XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
|
||||
//
|
||||
// paragraph = footer.createParagraph();
|
||||
// paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
// run = paragraph.createRun();
|
||||
// run.setText("NIO Internal");
|
||||
// run.setFontSize(11);
|
||||
// run.setFontFamily("Blue Sky Standard Regular");
|
||||
//
|
||||
// paragraph = footer.createParagraph();
|
||||
// paragraph.setAlignment(ParagraphAlignment.LEFT);
|
||||
// run = paragraph.createRun();
|
||||
// run.setText("NIO.com");
|
||||
// run.setFontSize(11);
|
||||
// run.setFontFamily("Blue Sky Noto Regular");
|
||||
//
|
||||
// //生成页码---------------------------------------------------------------------
|
||||
// paragraph = footer.createParagraph();
|
||||
// paragraph.setAlignment(ParagraphAlignment.RIGHT);
|
||||
// run = paragraph.createRun();
|
||||
// CTFldChar fldChar = run.getCTR().addNewFldChar();
|
||||
// fldChar.setFldCharType(STFldCharType.Enum.forString("begin"));
|
||||
//
|
||||
// run = paragraph.createRun();
|
||||
// CTText ctText = run.getCTR().addNewInstrText();
|
||||
// ctText.setStringValue("PAGE \\* MERGEFORMAT");
|
||||
// ctText.setSpace(SpaceAttribute.Space.Enum.forString("preserve"));
|
||||
//
|
||||
// fldChar = run.getCTR().addNewFldChar();
|
||||
// fldChar.setFldCharType(STFldCharType.Enum.forString("end"));
|
||||
// //----------------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
//
|
||||
// CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
||||
// if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
|
||||
// //设置页面大小
|
||||
// CTPageSz pgSz = sectPr.addNewPgSz();
|
||||
// pgSz.setW(BigInteger.valueOf(11907));
|
||||
// pgSz.setH(BigInteger.valueOf(16840));
|
||||
// CTPageMar pageMar = sectPr.getPgMar();
|
||||
// if (pageMar == null) pageMar = sectPr.addNewPgMar();
|
||||
// pageMar.setLeft(BigInteger.valueOf(1803)); //左边距
|
||||
// pageMar.setRight(BigInteger.valueOf(1803));//右边距
|
||||
// pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度
|
||||
// pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度
|
||||
//
|
||||
// pageMar.setHeader(BigInteger.valueOf(720)); //页眉上边框到顶部的距离
|
||||
// pageMar.setFooter(BigInteger.valueOf(720)); //页脚下边框到底部的距离
|
||||
// }
|
||||
|
||||
/**
|
||||
* 主页面(只有页脚)
|
||||
@@ -356,18 +409,58 @@ public class WordUtil {
|
||||
if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
|
||||
//设置页面大小
|
||||
CTPageSz pgSz = sectPr.addNewPgSz();
|
||||
pgSz.setW(BigInteger.valueOf(11907));
|
||||
pgSz.setH(BigInteger.valueOf(16840));
|
||||
pgSz.setW(BigInteger.valueOf(11905));
|
||||
pgSz.setH(BigInteger.valueOf(16838));
|
||||
CTPageMar pageMar = sectPr.getPgMar();
|
||||
if (pageMar == null) pageMar = sectPr.addNewPgMar();
|
||||
pageMar.setLeft(BigInteger.valueOf(1803)); //左边距
|
||||
pageMar.setRight(BigInteger.valueOf(1803));//右边距
|
||||
pageMar.setLeft(BigInteger.valueOf(1797)); //左边距
|
||||
pageMar.setRight(BigInteger.valueOf(1797));//右边距
|
||||
pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度
|
||||
pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度
|
||||
|
||||
pageMar.setHeader(BigInteger.valueOf(500)); //页眉上边框到顶部的距离
|
||||
pageMar.setFooter(BigInteger.valueOf(1200)); //页脚下边框到底部的距离
|
||||
}
|
||||
// /**
|
||||
// * 主页面(只有页脚 WPS版本)
|
||||
// * @param document
|
||||
// * @param month
|
||||
// */
|
||||
// @SneakyThrows
|
||||
// public static void exportHeardAndFootMain(XWPFDocument document,String month){
|
||||
// XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();
|
||||
// if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();
|
||||
//// XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
|
||||
//// XWPFParagraph paragraph = header.createParagraph();//创建新的段落
|
||||
//// XWPFRun run = paragraph.createRun();
|
||||
//
|
||||
// XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
|
||||
// XWPFParagraph paragraph = footer.createParagraph();
|
||||
// paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
// XWPFRun run = paragraph.createRun();
|
||||
// run.setText("NIO Internal");
|
||||
// run.setFontSize(18);
|
||||
// run.setFontFamily("Blue Sky Standard Regular");
|
||||
//// run.setFontFamily("Blue Sky Noto Regular");
|
||||
// run.setBold(true);
|
||||
//
|
||||
//
|
||||
// CTSectPr sectPr = document.getDocument().getBody().getSectPr();
|
||||
// if (sectPr == null) sectPr = document.getDocument().getBody().addNewSectPr();
|
||||
// //设置页面大小
|
||||
// CTPageSz pgSz = sectPr.addNewPgSz();
|
||||
// pgSz.setW(BigInteger.valueOf(11907));
|
||||
// pgSz.setH(BigInteger.valueOf(16840));
|
||||
// CTPageMar pageMar = sectPr.getPgMar();
|
||||
// if (pageMar == null) pageMar = sectPr.addNewPgMar();
|
||||
// pageMar.setLeft(BigInteger.valueOf(1803)); //左边距
|
||||
// pageMar.setRight(BigInteger.valueOf(1803));//右边距
|
||||
// pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度
|
||||
// pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度
|
||||
//
|
||||
// pageMar.setHeader(BigInteger.valueOf(500)); //页眉上边框到顶部的距离
|
||||
// pageMar.setFooter(BigInteger.valueOf(1200)); //页脚下边框到底部的距离
|
||||
// }
|
||||
|
||||
/**
|
||||
* 导出工具示例
|
||||
@@ -454,7 +547,7 @@ public class WordUtil {
|
||||
String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围
|
||||
String state = lawsMonthlyReportWriteEO.getState();//状态
|
||||
String useMethod = lawsMonthlyReportWriteEO.getUseMethod();//用法
|
||||
String implementCar = lawsMonthlyReportWriteEO.getImplementCar();//实施车型
|
||||
// String implementCar = lawsMonthlyReportWriteEO.getImplementCar();//实施车型
|
||||
String newCarImplementTime = lawsMonthlyReportWriteEO.getNewCarImplementTime();//新车型实施日期
|
||||
String productionCarImplementTime = lawsMonthlyReportWriteEO.getProductionCarImplementTime();//在产车实施日期
|
||||
String contentCn = lawsMonthlyReportWriteEO.getContentCn();//主要内容中文
|
||||
@@ -463,25 +556,25 @@ public class WordUtil {
|
||||
String workProgressEn = lawsMonthlyReportWriteEO.getWorkProgressEn();//NIO工作进展英文
|
||||
String lawsContactTemp = lawsMonthlyReportWriteEO.getLawsContact();//法规联系人
|
||||
String lawsContact = getLawsContact(loginUserList, lawsContactTemp);
|
||||
if(StringUtils.isNotEmpty(lawsContact)){
|
||||
List<String> lawsContactList = Arrays.asList(lawsContact.split(","));
|
||||
if (lawsContactList.size() > 4) {
|
||||
StringBuilder str = new StringBuilder();
|
||||
int count = 0;
|
||||
for (String s : lawsContactList) {
|
||||
str.append(s + ",");
|
||||
count++;
|
||||
if (count % 4 == 0) {
|
||||
str.append("\n");
|
||||
}
|
||||
}
|
||||
if(str.toString().endsWith("\n")){
|
||||
lawsContact = str.substring(0,str.length()-2);
|
||||
}else{
|
||||
lawsContact = str.substring(0,str.length()-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
// if(StringUtils.isNotEmpty(lawsContact)){
|
||||
// List<String> lawsContactList = Arrays.asList(lawsContact.split(","));
|
||||
// if (lawsContactList.size() > 4) {
|
||||
// StringBuilder str = new StringBuilder();
|
||||
// int count = 0;
|
||||
// for (String s : lawsContactList) {
|
||||
// str.append(s + ",");
|
||||
// count++;
|
||||
// if (count % 4 == 0) {
|
||||
// str.append("\n");
|
||||
// }
|
||||
// }
|
||||
// if(str.toString().endsWith("\n")){
|
||||
// lawsContact = str.substring(0,str.length()-2);
|
||||
// }else{
|
||||
// lawsContact = str.substring(0,str.length()-1);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
String link = lawsMonthlyReportWriteEO.getLink();//链接
|
||||
String technologyTerritoryName = "";
|
||||
@@ -504,7 +597,7 @@ public class WordUtil {
|
||||
String stateName = dictItem(sysDictItems, state,cut, DictCodeReportEnum.STATE.getValue());
|
||||
String useMethodName = dictItem(sysDictItems, useMethod,cut, DictCodeReportEnum.USEMETHOD.getValue());
|
||||
|
||||
XWPFTable table = document.createTable(11, 2);
|
||||
XWPFTable table = document.createTable(10, 2);
|
||||
//表格属性
|
||||
CTTblPr tablePr = table.getCTTbl().addNewTblPr();
|
||||
//固定列宽(英文和数字的时候自动换行)
|
||||
@@ -534,19 +627,19 @@ public class WordUtil {
|
||||
//第5行
|
||||
setCellThree(table,3, "用法",useMethodName,sysDictItems,DictCodeReportEnum.USEMETHOD.getValue());
|
||||
//第6行
|
||||
setCell(table,4, "实施车型",implementCar);
|
||||
// setCell(table,4, "实施车型",implementCar);
|
||||
//第7行
|
||||
setCell(table,5, "新车型实施日期",newCarImplementTime);
|
||||
setCell(table,4, "新车型实施日期",newCarImplementTime);
|
||||
//第8行
|
||||
setCell(table,6, "在产车实施日期",productionCarImplementTime);
|
||||
setCell(table,5, "在产车实施日期",productionCarImplementTime);
|
||||
//第9行
|
||||
setCell(table,7, "主要内容",contentCn);
|
||||
setCell(table,6, "主要内容",contentCn);
|
||||
//第10行
|
||||
setCell(table,8, "NIO工作进展",workProgressCn);
|
||||
setCell(table,7, "NIO工作进展",workProgressCn);
|
||||
//第11行
|
||||
setCell(table,9, "法规联系人",lawsContact);
|
||||
setCell(table,8, "法规联系人",lawsContact);
|
||||
//第12行
|
||||
setCell(table,10, "链接",link);
|
||||
setCell(table,9, "链接",link);
|
||||
}else{
|
||||
//第1行
|
||||
setCell(table,0, "Related Areas",technologyTerritoryName);
|
||||
@@ -559,19 +652,19 @@ public class WordUtil {
|
||||
//第5行
|
||||
setCellThree(table,3,"Usage",useMethodName,sysDictItems,DictCodeReportEnum.APPLYSCOPE.getValue());
|
||||
//第6行
|
||||
setCell(table,4,"Implementation Model",implementCar);
|
||||
// setCell(table,4,"Implementation Model",implementCar);
|
||||
//第7行
|
||||
setCell(table,5,"New Type Execution Date",newCarImplementTime);
|
||||
setCell(table,4,"New Type Execution Date",newCarImplementTime);
|
||||
//第8行
|
||||
setCell(table,6,"New Vehicle Execution Date",productionCarImplementTime);
|
||||
setCell(table,5,"New Vehicle Execution Date",productionCarImplementTime);
|
||||
//第9行
|
||||
setCell(table,7,"Main Content",contentEn);
|
||||
setCell(table,6,"Main Content",contentEn);
|
||||
//第10行
|
||||
setCell(table,8,"NIO Work Progress",workProgressEn);
|
||||
setCell(table,7,"NIO Work Progress",workProgressEn);
|
||||
//第11行
|
||||
setCell(table,9,"Regulatory Contact",lawsContact);
|
||||
setCell(table,8,"Regulatory Contact",lawsContact);
|
||||
//第12行
|
||||
setCell(table, 10,"Link",link);
|
||||
setCell(table, 9,"Link",link);
|
||||
}
|
||||
// ctTblLayoutType.setType(STTblLayoutType.FIXED);
|
||||
|
||||
@@ -1040,7 +1133,7 @@ public class WordUtil {
|
||||
for (String s : lawsContact.split(",")) {
|
||||
List<LoginUser> loginUserList = collect.stream().filter(e -> e.getId().equals(s)).collect(Collectors.toList());
|
||||
if(loginUserList.size() != 0){
|
||||
sb.append(loginUserList.get(0).getUsername()+",");
|
||||
sb.append(loginUserList.get(0).getRealname()+",");
|
||||
}
|
||||
}
|
||||
if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){
|
||||
@@ -1072,6 +1165,7 @@ public class WordUtil {
|
||||
ctTc.addNewP() : ctTc.getPArray(0);
|
||||
//getParagraph(ctP) 获取 XWPFParagraph
|
||||
XWPFParagraph par = cell.getParagraph(ctP);
|
||||
par.setAlignment(ParagraphAlignment.LEFT);
|
||||
//XWPFRun 设置格式
|
||||
XWPFRun run = par.createRun();
|
||||
//单元格内容换行
|
||||
@@ -1109,6 +1203,7 @@ public class WordUtil {
|
||||
ctTc.addNewP() : ctTc.getPArray(0);
|
||||
//getParagraph(ctP) 获取 XWPFParagraph
|
||||
XWPFParagraph par = cell.getParagraph(ctP);
|
||||
par.setAlignment(ParagraphAlignment.LEFT);
|
||||
//XWPFRun 设置格式
|
||||
XWPFRun run = par.createRun();
|
||||
//单元格内容换行 □ ■
|
||||
@@ -1136,7 +1231,7 @@ public class WordUtil {
|
||||
setBlank(text, run, sb, itemText);
|
||||
}
|
||||
if("Usage".equals(fieldName)){
|
||||
String itemText = "Constraint,Recommend,Installation Is Compliant";
|
||||
String itemText = "Mandatory,Voluntary,Mandatory if fitted";
|
||||
setBlank(text, run, sb, itemText);
|
||||
}
|
||||
}
|
||||
@@ -1169,13 +1264,13 @@ public class WordUtil {
|
||||
String blank = "";
|
||||
switch (value) {
|
||||
case "M":
|
||||
blank = " ";
|
||||
blank = " ";
|
||||
break;
|
||||
case "N":
|
||||
blank = "\r\n";
|
||||
break;
|
||||
case "企业":
|
||||
blank = " ";
|
||||
blank = " ";
|
||||
break;
|
||||
case "整车":
|
||||
blank = " ";
|
||||
@@ -1190,10 +1285,10 @@ public class WordUtil {
|
||||
blank = "";
|
||||
break;
|
||||
case "Enterprise":
|
||||
blank = " ";
|
||||
blank = " ";
|
||||
break;
|
||||
case "Vehicle":
|
||||
blank = " ";
|
||||
blank = " ";
|
||||
break;
|
||||
case "System/Parts":
|
||||
blank = "\r\n";
|
||||
@@ -1231,13 +1326,13 @@ public class WordUtil {
|
||||
case "安装需符合":
|
||||
blank = "";
|
||||
break;
|
||||
case "Constraint":
|
||||
case "Mandatory":
|
||||
blank = " ";
|
||||
break;
|
||||
case "Recommend":
|
||||
case "Voluntary":
|
||||
blank = " ";
|
||||
break;
|
||||
case "Installation Is Compliant":
|
||||
case "Mandatory if fitted":
|
||||
blank = "";
|
||||
break;
|
||||
default:
|
||||
|
||||
+7
-7
@@ -576,13 +576,13 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
}
|
||||
}
|
||||
//如果value中包含英文单、双引号,替换成中文的。 英文的符号影响到法规技术评估流程了。
|
||||
if(entry.getValue() != null){
|
||||
if(StringUtils.contains(entry.getValue().toString(),"'") || StringUtils.contains(entry.getValue().toString(),"\"")){
|
||||
String key = entry.getKey();
|
||||
String value = entry.getValue().toString().replaceAll("'", "‘").replaceAll("\"", "”");
|
||||
record1.put(key,value);
|
||||
}
|
||||
}
|
||||
// if(entry.getValue() != null){
|
||||
// if(StringUtils.contains(entry.getValue().toString(),"'") || StringUtils.contains(entry.getValue().toString(),"\"")){
|
||||
// String key = entry.getKey();
|
||||
// String value = entry.getValue().toString().replaceAll("'", "‘").replaceAll("\"", "”");
|
||||
// record1.put(key,value);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
// 拼接文件名
|
||||
|
||||
Reference in New Issue
Block a user