feat: 水印格式调整

This commit is contained in:
2024-01-02 17:43:57 +08:00
parent fe4d15a894
commit 14cb86dba2
4 changed files with 93 additions and 7 deletions
@@ -1,6 +1,7 @@
package com.jero.modules.system.util;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
@@ -18,6 +19,8 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 水印工具类
@@ -47,7 +50,9 @@ public class SysWaterMarkUtil {
if (loginUser == null) {
return "";
}
return loginUser.getUsername() + loginUser.getRealname();
Date curDate = new Date();
String cudDateStr = DateUtils.date2Str(curDate, new SimpleDateFormat("yyyyMMddHHmmss"));
return loginUser.getUsername() + " " + loginUser.getRealname() + " " + cudDateStr;
}
public synchronized InputStream addWatermarkToPdf(InputStream inputStream) throws IOException {
@@ -75,8 +80,8 @@ public class SysWaterMarkUtil {
float dynamicFontSize = pageWidth * (this.fontSize / 595); // 假设基准页面宽度为595单位
float xStep = pageWidth / 4;
float yStep = pageHeight / 4;
float rotationInRadians = (float) Math.toRadians(20);
float yStep = pageHeight / 8;
float rotationInRadians = (float) Math.toRadians(30);
for (float xPosition = pageSize.getLowerLeftX(); xPosition <= pageWidth; xPosition += xStep) {
for (float yPosition = pageSize.getLowerLeftY(); yPosition <= pageHeight; yPosition += yStep) {
@@ -202,6 +202,74 @@ public class ProcessEsChange implements Serializable {
@ApiModelProperty(value = "授权部门")
private String authDept;
/**
* 授权部门
*/
@ApiModelProperty(value = "更改级别代号")
private String levelCode;
/**
* 有无二维或三维图
*/
@ApiModelProperty(value = "有无二维或三维图")
private String has2d3dGraph;
/**
* 顾客确认
*/
@ApiModelProperty(value = "顾客确认")
private String customerConfirmation;
/**
* 刷新文件号
*/
@ApiModelProperty(value = "刷新文件号")
private String refreshFileNumber;
/**
* 库存
*/
@ApiModelProperty(value = "库存")
private String inventory;
/**
* 在制品
*/
@ApiModelProperty(value = "在制品")
private String workInProgress;
/**
* 备件
*/
@ApiModelProperty(value = "备件")
private String spareParts;
/**
* 关联更改项
*/
@ApiModelProperty(value = "关联更改项")
private String relatedChanges;
/**
* 更改标记
*/
@ApiModelProperty(value = "更改标记")
private String changeTag;
/**
* 处数
*/
@ApiModelProperty(value = "处数")
private String treatmentCount;
/**
* 生效日期
*/
@ApiModelProperty(value = "生效日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date effectiveDate;
/**
* 修改意见内容列表
*/
@@ -60,10 +60,18 @@ public class ProcessESChangeEndListener implements ExecutionListener {
Map<String, Object> parameterMap = new HashMap<>();
this.buildMap(parameterMap, change);
commonService.commonEdit(parameterMap);
// TODO 生成修改单
// 生成修改单
this.genModificationOrder(change);
log.info("企标更改流程监听执行器执行结束");
}
private void genModificationOrder(ProcessEsChange change) {
String esNo = change.getStandardNumber();
}
private void buildMap(Map<String, Object> parameterMap, ProcessEsChange change) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
parameterMap.put(FieldCommon.MODULE, TableNameEnum.ENTERPRISE_STANDARDS.getValue());
@@ -1,6 +1,7 @@
package com.jero.modules.laws.enterprise.util;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
import com.jero.modules.system.util.UserUtils;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
@@ -16,6 +17,8 @@ import org.springframework.stereotype.Component;
import java.awt.*;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 水印工具类
@@ -44,7 +47,9 @@ public class WaterMarkUtil {
if (loginUser == null) {
return "";
}
return loginUser.getUsername() + loginUser.getRealname();
Date curDate = new Date();
String cudDateStr = DateUtils.date2Str(curDate, new SimpleDateFormat("yyyyMMddHHmmss"));
return loginUser.getUsername() + " " + loginUser.getRealname() + " " + cudDateStr;
}
public synchronized InputStream addWatermarkToPdf(InputStream inputStream) throws IOException {
@@ -72,8 +77,8 @@ public class WaterMarkUtil {
float dynamicFontSize = pageWidth * (this.fontSize / 595); // 假设基准页面宽度为595单位
float xStep = pageWidth / 4;
float yStep = pageHeight / 4;
float rotationInRadians = (float) Math.toRadians(20);
float yStep = pageHeight / 8;
float rotationInRadians = (float) Math.toRadians(30);
for (float xPosition = pageSize.getLowerLeftX(); xPosition <= pageWidth; xPosition += xStep) {
for (float yPosition = pageSize.getLowerLeftY(); yPosition <= pageHeight; yPosition += yStep) {