diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
index 5fb246a..c74cd0c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
@@ -7,13 +7,15 @@
import com.casic.missiles.core.model.auth.CasicCustomToken;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.core.util.RSAUtils;
-import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.service.listeners.processor.register.PrintFileRegister;
+import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.domain.constants.PermissionConstants;
import com.casic.missiles.modular.interfaces.log.LogManager;
import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
@@ -21,11 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import java.lang.reflect.Field;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static com.casic.missiles.core.util.HttpContext.getIp;
@@ -86,4 +84,19 @@
return resultData;
}
+ /**
+ * 测试所用类
+ *
+ * @param id
+ */
+ @GetMapping("/test")
+ @ResponseBody
+ public void test(Long id) {
+ BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class);
+ BusinessCertificateReport certificateReport = certificateReportMapper.selectById(id);
+ PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class);
+ String printFileName = printFileRegister.registerPrintFile(certificateReport);
+ log.info(printFileName);
+ }
+
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
index 5fb246a..c74cd0c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
@@ -7,13 +7,15 @@
import com.casic.missiles.core.model.auth.CasicCustomToken;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.core.util.RSAUtils;
-import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.service.listeners.processor.register.PrintFileRegister;
+import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.domain.constants.PermissionConstants;
import com.casic.missiles.modular.interfaces.log.LogManager;
import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
@@ -21,11 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import java.lang.reflect.Field;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static com.casic.missiles.core.util.HttpContext.getIp;
@@ -86,4 +84,19 @@
return resultData;
}
+ /**
+ * 测试所用类
+ *
+ * @param id
+ */
+ @GetMapping("/test")
+ @ResponseBody
+ public void test(Long id) {
+ BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class);
+ BusinessCertificateReport certificateReport = certificateReportMapper.selectById(id);
+ PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class);
+ String printFileName = printFileRegister.registerPrintFile(certificateReport);
+ log.info(printFileName);
+ }
+
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index f51b9cd..daefb5c 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -136,17 +136,17 @@
cn.afterturn
easypoi-base
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-web
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-annotation
- 4.3.0
+ 4.4.0
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
index 5fb246a..c74cd0c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
@@ -7,13 +7,15 @@
import com.casic.missiles.core.model.auth.CasicCustomToken;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.core.util.RSAUtils;
-import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.service.listeners.processor.register.PrintFileRegister;
+import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.domain.constants.PermissionConstants;
import com.casic.missiles.modular.interfaces.log.LogManager;
import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
@@ -21,11 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import java.lang.reflect.Field;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static com.casic.missiles.core.util.HttpContext.getIp;
@@ -86,4 +84,19 @@
return resultData;
}
+ /**
+ * 测试所用类
+ *
+ * @param id
+ */
+ @GetMapping("/test")
+ @ResponseBody
+ public void test(Long id) {
+ BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class);
+ BusinessCertificateReport certificateReport = certificateReportMapper.selectById(id);
+ PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class);
+ String printFileName = printFileRegister.registerPrintFile(certificateReport);
+ log.info(printFileName);
+ }
+
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index f51b9cd..daefb5c 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -136,17 +136,17 @@
cn.afterturn
easypoi-base
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-web
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-annotation
- 4.3.0
+ 4.4.0
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
index 8250400..d48545b 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
@@ -2,6 +2,6 @@
public interface CertificateTypeEnum {
- String CALIBRATION_CERTIFICATE = "1";
- String TEST_REPORT = "2";
+ String CALIBRATION_CERTIFICATE = "0";
+ String TEST_REPORT = "1";
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
index 5fb246a..c74cd0c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
@@ -7,13 +7,15 @@
import com.casic.missiles.core.model.auth.CasicCustomToken;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.core.util.RSAUtils;
-import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.service.listeners.processor.register.PrintFileRegister;
+import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.domain.constants.PermissionConstants;
import com.casic.missiles.modular.interfaces.log.LogManager;
import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
@@ -21,11 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import java.lang.reflect.Field;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static com.casic.missiles.core.util.HttpContext.getIp;
@@ -86,4 +84,19 @@
return resultData;
}
+ /**
+ * 测试所用类
+ *
+ * @param id
+ */
+ @GetMapping("/test")
+ @ResponseBody
+ public void test(Long id) {
+ BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class);
+ BusinessCertificateReport certificateReport = certificateReportMapper.selectById(id);
+ PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class);
+ String printFileName = printFileRegister.registerPrintFile(certificateReport);
+ log.info(printFileName);
+ }
+
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index f51b9cd..daefb5c 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -136,17 +136,17 @@
cn.afterturn
easypoi-base
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-web
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-annotation
- 4.3.0
+ 4.4.0
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
index 8250400..d48545b 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
@@ -2,6 +2,6 @@
public interface CertificateTypeEnum {
- String CALIBRATION_CERTIFICATE = "1";
- String TEST_REPORT = "2";
+ String CALIBRATION_CERTIFICATE = "0";
+ String TEST_REPORT = "1";
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
index 5a0949b..81821fd 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
@@ -25,9 +25,9 @@
*/
private String fileName;
/**
- * 生成文件工作空间目录id
+ * 生成文件名
*/
- private String fileNameId;
+ private Long fileNameId;
/**
* 模板参数
*/
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
index 5fb246a..c74cd0c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
@@ -7,13 +7,15 @@
import com.casic.missiles.core.model.auth.CasicCustomToken;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.core.util.RSAUtils;
-import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.service.listeners.processor.register.PrintFileRegister;
+import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.domain.constants.PermissionConstants;
import com.casic.missiles.modular.interfaces.log.LogManager;
import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
@@ -21,11 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import java.lang.reflect.Field;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static com.casic.missiles.core.util.HttpContext.getIp;
@@ -86,4 +84,19 @@
return resultData;
}
+ /**
+ * 测试所用类
+ *
+ * @param id
+ */
+ @GetMapping("/test")
+ @ResponseBody
+ public void test(Long id) {
+ BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class);
+ BusinessCertificateReport certificateReport = certificateReportMapper.selectById(id);
+ PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class);
+ String printFileName = printFileRegister.registerPrintFile(certificateReport);
+ log.info(printFileName);
+ }
+
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index f51b9cd..daefb5c 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -136,17 +136,17 @@
cn.afterturn
easypoi-base
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-web
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-annotation
- 4.3.0
+ 4.4.0
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
index 8250400..d48545b 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
@@ -2,6 +2,6 @@
public interface CertificateTypeEnum {
- String CALIBRATION_CERTIFICATE = "1";
- String TEST_REPORT = "2";
+ String CALIBRATION_CERTIFICATE = "0";
+ String TEST_REPORT = "1";
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
index 5a0949b..81821fd 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
@@ -25,9 +25,9 @@
*/
private String fileName;
/**
- * 生成文件工作空间目录id
+ * 生成文件名
*/
- private String fileNameId;
+ private Long fileNameId;
/**
* 模板参数
*/
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
index e4595d4..f867bf1 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
@@ -65,9 +65,9 @@
Collectors.groupingBy(ElectronicImage::getKeyWord)
);
// 初始化world,pdf名称参数
- String[] filePrintType = filePrintRegister.getTemplatePath().split(".");
- String wordNewUrl = filePrintRegister.getFileName() + filePrintType[filePrintType.length - 1];
- String pdfNewUrl = filePrintRegister.getFileName() + "pdf";
+ String[] filePrintType = filePrintRegister.getTemplatePath().split("\\.");
+ String wordNewUrl = filePrintRegister.getTemplatePath();
+ String pdfNewUrl = filePrintType[0]+"."+ "pdf";
//3、根据关键字进行添加签章和签字
for (Map.Entry> entry : sameKeySealMaps.entrySet()) {
List electronicSeals = entry.getValue();
@@ -75,7 +75,7 @@
}
// 4、将新word转化为pdf文件
wordToPdf(wordNewUrl, pdfNewUrl);
- return pdfNewUrl;
+ return pdfNewUrl;
}
/**
@@ -90,15 +90,20 @@
Assert.notNull(templatePath, "模板路径不能为空");
Assert.notNull(temDir, "临时文件路径不能为空");
Assert.notNull(fileName, "导出文件名不能为空");
- Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式");
+// if (fileName.endsWith(".doc")) {
+// HWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
+// }
+// Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式");
if (!temDir.endsWith("/")) {
- temDir = temDir + File.separator;
+ temDir = temDir;
}
File dir = new File(temDir);
if (!dir.getParentFile().exists()) {
// 新建文件夹
dir.getParentFile().mkdirs();
}
+// operateWord(params,templatePath);
+
String tmpPath = "";
try {
XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
@@ -113,7 +118,6 @@
return tmpPath;
}
-
/**
* 将相同关键字的印章添加到同一个位置进行打印
* 1、根据关键词位置添加电子印章
@@ -123,7 +127,8 @@
* @param wordNewUrl 新word文件路径
* @param electronicSealList 电子印章信息
*/
- private static void addSameKeyWordStamp(String wordOldUrl, String wordNewUrl, List electronicSealList) throws RuntimeException {
+ private static void addSameKeyWordStamp(String wordOldUrl, String
+ wordNewUrl, List electronicSealList) throws RuntimeException {
// 加载文档
Document document = new Document();
document.loadFromFile(wordOldUrl);
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
index 5fb246a..c74cd0c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
@@ -7,13 +7,15 @@
import com.casic.missiles.core.model.auth.CasicCustomToken;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.core.util.RSAUtils;
-import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.service.listeners.processor.register.PrintFileRegister;
+import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.domain.constants.PermissionConstants;
import com.casic.missiles.modular.interfaces.log.LogManager;
import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
@@ -21,11 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import java.lang.reflect.Field;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static com.casic.missiles.core.util.HttpContext.getIp;
@@ -86,4 +84,19 @@
return resultData;
}
+ /**
+ * 测试所用类
+ *
+ * @param id
+ */
+ @GetMapping("/test")
+ @ResponseBody
+ public void test(Long id) {
+ BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class);
+ BusinessCertificateReport certificateReport = certificateReportMapper.selectById(id);
+ PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class);
+ String printFileName = printFileRegister.registerPrintFile(certificateReport);
+ log.info(printFileName);
+ }
+
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index f51b9cd..daefb5c 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -136,17 +136,17 @@
cn.afterturn
easypoi-base
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-web
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-annotation
- 4.3.0
+ 4.4.0
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
index 8250400..d48545b 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
@@ -2,6 +2,6 @@
public interface CertificateTypeEnum {
- String CALIBRATION_CERTIFICATE = "1";
- String TEST_REPORT = "2";
+ String CALIBRATION_CERTIFICATE = "0";
+ String TEST_REPORT = "1";
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
index 5a0949b..81821fd 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
@@ -25,9 +25,9 @@
*/
private String fileName;
/**
- * 生成文件工作空间目录id
+ * 生成文件名
*/
- private String fileNameId;
+ private Long fileNameId;
/**
* 模板参数
*/
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
index e4595d4..f867bf1 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
@@ -65,9 +65,9 @@
Collectors.groupingBy(ElectronicImage::getKeyWord)
);
// 初始化world,pdf名称参数
- String[] filePrintType = filePrintRegister.getTemplatePath().split(".");
- String wordNewUrl = filePrintRegister.getFileName() + filePrintType[filePrintType.length - 1];
- String pdfNewUrl = filePrintRegister.getFileName() + "pdf";
+ String[] filePrintType = filePrintRegister.getTemplatePath().split("\\.");
+ String wordNewUrl = filePrintRegister.getTemplatePath();
+ String pdfNewUrl = filePrintType[0]+"."+ "pdf";
//3、根据关键字进行添加签章和签字
for (Map.Entry> entry : sameKeySealMaps.entrySet()) {
List electronicSeals = entry.getValue();
@@ -75,7 +75,7 @@
}
// 4、将新word转化为pdf文件
wordToPdf(wordNewUrl, pdfNewUrl);
- return pdfNewUrl;
+ return pdfNewUrl;
}
/**
@@ -90,15 +90,20 @@
Assert.notNull(templatePath, "模板路径不能为空");
Assert.notNull(temDir, "临时文件路径不能为空");
Assert.notNull(fileName, "导出文件名不能为空");
- Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式");
+// if (fileName.endsWith(".doc")) {
+// HWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
+// }
+// Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式");
if (!temDir.endsWith("/")) {
- temDir = temDir + File.separator;
+ temDir = temDir;
}
File dir = new File(temDir);
if (!dir.getParentFile().exists()) {
// 新建文件夹
dir.getParentFile().mkdirs();
}
+// operateWord(params,templatePath);
+
String tmpPath = "";
try {
XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
@@ -113,7 +118,6 @@
return tmpPath;
}
-
/**
* 将相同关键字的印章添加到同一个位置进行打印
* 1、根据关键词位置添加电子印章
@@ -123,7 +127,8 @@
* @param wordNewUrl 新word文件路径
* @param electronicSealList 电子印章信息
*/
- private static void addSameKeyWordStamp(String wordOldUrl, String wordNewUrl, List electronicSealList) throws RuntimeException {
+ private static void addSameKeyWordStamp(String wordOldUrl, String
+ wordNewUrl, List electronicSealList) throws RuntimeException {
// 加载文档
Document document = new Document();
document.loadFromFile(wordOldUrl);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
index 432cdc3..cd43ce8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
@@ -35,10 +35,12 @@
* 3、设置文件id,作为操作空间文件名称,防止对其他同时处理的证书形成影响
*/
protected void initialization(FilePrintRegister filePrintRegister, String templateFileDir, BusinessCertificateReport certificateReport) {
+ templateFileDir = templateFileDir + certificateReport.getId()+"\\";
String fileName = fileRegisterMapper.getSignFileNameById(certificateReport.getTemplateId(), "system_template");
+ filePrintRegister.setFileName(fileName);
filePrintRegister.setTemDir(templateFileDir);
- filePrintRegister.setFileName(templateFileDir + "\\" + fileName);
- filePrintRegister.setFileNameId(String.valueOf(certificateReport.getId()));
+ filePrintRegister.setTemplatePath(templateFileDir + fileName);
+ filePrintRegister.setFileNameId(certificateReport.getId());
List fileNames = new ArrayList<>();
fileNames.add(fileName);
filePrintRegister.setBeDownloadedFileNames(fileNames);
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
index 5fb246a..c74cd0c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
@@ -7,13 +7,15 @@
import com.casic.missiles.core.model.auth.CasicCustomToken;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.core.util.RSAUtils;
-import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.service.listeners.processor.register.PrintFileRegister;
+import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.domain.constants.PermissionConstants;
import com.casic.missiles.modular.interfaces.log.LogManager;
import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
@@ -21,11 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import java.lang.reflect.Field;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static com.casic.missiles.core.util.HttpContext.getIp;
@@ -86,4 +84,19 @@
return resultData;
}
+ /**
+ * 测试所用类
+ *
+ * @param id
+ */
+ @GetMapping("/test")
+ @ResponseBody
+ public void test(Long id) {
+ BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class);
+ BusinessCertificateReport certificateReport = certificateReportMapper.selectById(id);
+ PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class);
+ String printFileName = printFileRegister.registerPrintFile(certificateReport);
+ log.info(printFileName);
+ }
+
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index f51b9cd..daefb5c 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -136,17 +136,17 @@
cn.afterturn
easypoi-base
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-web
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-annotation
- 4.3.0
+ 4.4.0
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
index 8250400..d48545b 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
@@ -2,6 +2,6 @@
public interface CertificateTypeEnum {
- String CALIBRATION_CERTIFICATE = "1";
- String TEST_REPORT = "2";
+ String CALIBRATION_CERTIFICATE = "0";
+ String TEST_REPORT = "1";
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
index 5a0949b..81821fd 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
@@ -25,9 +25,9 @@
*/
private String fileName;
/**
- * 生成文件工作空间目录id
+ * 生成文件名
*/
- private String fileNameId;
+ private Long fileNameId;
/**
* 模板参数
*/
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
index e4595d4..f867bf1 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
@@ -65,9 +65,9 @@
Collectors.groupingBy(ElectronicImage::getKeyWord)
);
// 初始化world,pdf名称参数
- String[] filePrintType = filePrintRegister.getTemplatePath().split(".");
- String wordNewUrl = filePrintRegister.getFileName() + filePrintType[filePrintType.length - 1];
- String pdfNewUrl = filePrintRegister.getFileName() + "pdf";
+ String[] filePrintType = filePrintRegister.getTemplatePath().split("\\.");
+ String wordNewUrl = filePrintRegister.getTemplatePath();
+ String pdfNewUrl = filePrintType[0]+"."+ "pdf";
//3、根据关键字进行添加签章和签字
for (Map.Entry> entry : sameKeySealMaps.entrySet()) {
List electronicSeals = entry.getValue();
@@ -75,7 +75,7 @@
}
// 4、将新word转化为pdf文件
wordToPdf(wordNewUrl, pdfNewUrl);
- return pdfNewUrl;
+ return pdfNewUrl;
}
/**
@@ -90,15 +90,20 @@
Assert.notNull(templatePath, "模板路径不能为空");
Assert.notNull(temDir, "临时文件路径不能为空");
Assert.notNull(fileName, "导出文件名不能为空");
- Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式");
+// if (fileName.endsWith(".doc")) {
+// HWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
+// }
+// Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式");
if (!temDir.endsWith("/")) {
- temDir = temDir + File.separator;
+ temDir = temDir;
}
File dir = new File(temDir);
if (!dir.getParentFile().exists()) {
// 新建文件夹
dir.getParentFile().mkdirs();
}
+// operateWord(params,templatePath);
+
String tmpPath = "";
try {
XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
@@ -113,7 +118,6 @@
return tmpPath;
}
-
/**
* 将相同关键字的印章添加到同一个位置进行打印
* 1、根据关键词位置添加电子印章
@@ -123,7 +127,8 @@
* @param wordNewUrl 新word文件路径
* @param electronicSealList 电子印章信息
*/
- private static void addSameKeyWordStamp(String wordOldUrl, String wordNewUrl, List electronicSealList) throws RuntimeException {
+ private static void addSameKeyWordStamp(String wordOldUrl, String
+ wordNewUrl, List electronicSealList) throws RuntimeException {
// 加载文档
Document document = new Document();
document.loadFromFile(wordOldUrl);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
index 432cdc3..cd43ce8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
@@ -35,10 +35,12 @@
* 3、设置文件id,作为操作空间文件名称,防止对其他同时处理的证书形成影响
*/
protected void initialization(FilePrintRegister filePrintRegister, String templateFileDir, BusinessCertificateReport certificateReport) {
+ templateFileDir = templateFileDir + certificateReport.getId()+"\\";
String fileName = fileRegisterMapper.getSignFileNameById(certificateReport.getTemplateId(), "system_template");
+ filePrintRegister.setFileName(fileName);
filePrintRegister.setTemDir(templateFileDir);
- filePrintRegister.setFileName(templateFileDir + "\\" + fileName);
- filePrintRegister.setFileNameId(String.valueOf(certificateReport.getId()));
+ filePrintRegister.setTemplatePath(templateFileDir + fileName);
+ filePrintRegister.setFileNameId(certificateReport.getId());
List fileNames = new ArrayList<>();
fileNames.add(fileName);
filePrintRegister.setBeDownloadedFileNames(fileNames);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java
index 93f50ae..c6710fe 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java
@@ -1,7 +1,10 @@
package com.casic.missiles.service.listeners.processor.register;
+import cn.hutool.core.lang.Assert;
import com.casic.missiles.dto.business.certificate.FilePrintRegister;
+import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.enums.notifyevent.AwareCertificateTypeEnum;
+import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.utils.MinioUtil;
import com.casic.missiles.utils.SpringContextUtil;
@@ -17,6 +20,7 @@
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
+import java.util.Objects;
@Component
@Slf4j
@@ -41,27 +45,34 @@
* 6、返还打印产生的证书文件
*/
public String registerPrintFile(BusinessCertificateReport certificateReport) {
+ String tempLocalFileDir = localFileDir;
+ Assert.isFalse(Objects.isNull(certificateReport), () -> {
+ throw new RuntimeException("the certificateReport is null,please check your params...");
+ });
//获取对应证书的beanName
String fileDataRegisterBeanName = AwareCertificateTypeEnum.CERTIFICATE_TYPE_BEAN_MAP
.getCertificateTypeBeanMap().get(certificateReport.getCertificateReportType());
- if (StringUtils.isEmpty(fileDataRegisterBeanName)) {
+ Assert.isFalse(StringUtils.isEmpty(fileDataRegisterBeanName), () -> {
throw new RuntimeException("the bean mapped by this certificate type has no mapping relationship...");
- }
+ });
PrintFileDataGeneric fileDataGeneric = SpringContextUtil.getBean(fileDataRegisterBeanName);
if (fileDataGeneric != null) {
- FilePrintRegister metaData = fileDataGeneric.CustomizedPrintFileRegister(certificateReport, localFileDir);
- localFileDir=localFileDir+"\\"+metaData.getFileNameId();
+ FilePrintRegister metaData = fileDataGeneric.CustomizedPrintFileRegister(certificateReport, tempLocalFileDir);
+ //获取文件夹目录,没有则创建
+ tempLocalFileDir = tempLocalFileDir + metaData.getFileNameId() + "\\";
+ getLocalFileDir(tempLocalFileDir);
//证书产生准备工作,将相应的文件下载到本地的工作空间,获取相应的模板的读取权限
- metaData.getBeDownloadedFileNames().forEach(
- fileName -> downTemplateFile(fileName)
- );
+ for (String fileName : metaData.getBeDownloadedFileNames()) {
+ downTemplateFile(fileName, tempLocalFileDir);
+ }
+ ;
//合并注册
String certificatePdfName = FilePrintRegisterUtils.filePrintGenerate(metaData);
//上传到服务器
uploadCertificate(certificatePdfName);
//删除无效的文件
- File invalidFile = new File(localFileDir);
- log.debug("invalid print file start delete, the file directory is {}", localFileDir);
+ File invalidFile = new File(tempLocalFileDir);
+ log.debug("invalid print file start delete, the file directory is {}", tempLocalFileDir);
//删除运行空间下的文件
deleteFile(invalidFile);
return certificatePdfName;
@@ -70,9 +81,20 @@
}
/**
- * 下载文件,获取文件的读写权限
+ * 创建文件目录,为mini下载文件准备目录
*/
- private void downTemplateFile(String fileName) {
+ private void getLocalFileDir(String tempLocalFileDir) {
+ File file = new File(tempLocalFileDir); //以.
+ if (file.exists()) {
+ deleteFile(file);
+ }
+ boolean dr = file.mkdirs(); //创建目录
+ }
+
+ /**
+ * 从mini文件服务器下载文件,获取文件的读写权限,用户证书报告的生成
+ */
+ private void downTemplateFile(String fileName, String templocalFileDir) {
// Properties properties = new Properties();
// String bucketName = properties.getProperty("minio.bucketName");
// MinioClient minioClient = SpringContextUtil.getBean(MinioClient.class);
@@ -84,7 +106,7 @@
IOUtils.copy(in, out);
//封装返回值
byte[] bytes = out.toByteArray();
- FilePrintRegisterUtils.byteToFile(bytes, localFileDir, fileName);
+ FilePrintRegisterUtils.byteToFile(bytes, templocalFileDir, fileName);
} catch (Exception e) {
e.printStackTrace();
} finally {
@@ -106,25 +128,34 @@
}
/**
- * 通过生成的证书报告url,将证书报告上传到远程的文件服务器
+ * 通过生成的证书报告,将证书报告上传到远程mini的文件服务器
*/
public void uploadCertificate(String certificatePrintUrl) {
+ //上传证书
+ File file = new File(certificatePrintUrl);
+ //获取file对象的文件输入流
+ FileInputStream input = null;
try {
- //上传证书
- File file = new File(localFileDir + certificatePrintUrl);
- //获取file对象的文件输入流
- FileInputStream input = new FileInputStream(file);
+ input = new FileInputStream(file);
MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), "text/plain", IOUtils.toByteArray(input));
MultipartFile[] multipartFiles = new MultipartFile[1];
multipartFiles[0] = multipartFile;
minioUtil.upload(multipartFiles);
} catch (IOException ie) {
log.error("Description Failed to upload the certificate to the server,the failed reason is {}...", ie);
+ } finally {
+ if (input != null) {
+ try {
+ input.close();
+ } catch (IOException e) {
+ log.error("the upload Certificate input stream release is anomaly");
+ }
+ }
}
}
/**
- * 对打印报告产生的空间进行清除
+ * 对打印报告产生的空间进行清除,还原空间
*/
private void deleteFile(File invalidFile) {
//返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
@@ -143,7 +174,9 @@
if (invalidFile.list().length == 0) {
log.debug("invalid print file has already delete success!");
}
+ //删除子目录
+ if (invalidFile != null && invalidFile.isDirectory()) {
+ invalidFile.delete();
+ }
}
-
-
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
index 5fb246a..c74cd0c 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java
@@ -7,13 +7,15 @@
import com.casic.missiles.core.model.auth.CasicCustomToken;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.core.util.RSAUtils;
-import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.service.listeners.processor.register.PrintFileRegister;
+import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
+import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.model.response.SuccessResponseData;
import com.casic.missiles.modular.domain.constants.PermissionConstants;
import com.casic.missiles.modular.interfaces.log.LogManager;
import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory;
import com.casic.missiles.modular.system.dto.LoginSuccessDTO;
+import com.casic.missiles.utils.SpringContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
@@ -21,11 +23,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
-import java.lang.reflect.Field;
import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import static com.casic.missiles.core.util.HttpContext.getIp;
@@ -86,4 +84,19 @@
return resultData;
}
+ /**
+ * 测试所用类
+ *
+ * @param id
+ */
+ @GetMapping("/test")
+ @ResponseBody
+ public void test(Long id) {
+ BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class);
+ BusinessCertificateReport certificateReport = certificateReportMapper.selectById(id);
+ PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class);
+ String printFileName = printFileRegister.registerPrintFile(certificateReport);
+ log.info(printFileName);
+ }
+
}
diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml
index f51b9cd..daefb5c 100644
--- a/casic-metering-common/pom.xml
+++ b/casic-metering-common/pom.xml
@@ -136,17 +136,17 @@
cn.afterturn
easypoi-base
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-web
- 4.3.0
+ 4.4.0
cn.afterturn
easypoi-annotation
- 4.3.0
+ 4.4.0
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
index 8250400..d48545b 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificateTypeEnum.java
@@ -2,6 +2,6 @@
public interface CertificateTypeEnum {
- String CALIBRATION_CERTIFICATE = "1";
- String TEST_REPORT = "2";
+ String CALIBRATION_CERTIFICATE = "0";
+ String TEST_REPORT = "1";
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
index 5a0949b..81821fd 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/FilePrintRegister.java
@@ -25,9 +25,9 @@
*/
private String fileName;
/**
- * 生成文件工作空间目录id
+ * 生成文件名
*/
- private String fileNameId;
+ private Long fileNameId;
/**
* 模板参数
*/
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
index e4595d4..f867bf1 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/FilePrintRegisterUtils.java
@@ -65,9 +65,9 @@
Collectors.groupingBy(ElectronicImage::getKeyWord)
);
// 初始化world,pdf名称参数
- String[] filePrintType = filePrintRegister.getTemplatePath().split(".");
- String wordNewUrl = filePrintRegister.getFileName() + filePrintType[filePrintType.length - 1];
- String pdfNewUrl = filePrintRegister.getFileName() + "pdf";
+ String[] filePrintType = filePrintRegister.getTemplatePath().split("\\.");
+ String wordNewUrl = filePrintRegister.getTemplatePath();
+ String pdfNewUrl = filePrintType[0]+"."+ "pdf";
//3、根据关键字进行添加签章和签字
for (Map.Entry> entry : sameKeySealMaps.entrySet()) {
List electronicSeals = entry.getValue();
@@ -75,7 +75,7 @@
}
// 4、将新word转化为pdf文件
wordToPdf(wordNewUrl, pdfNewUrl);
- return pdfNewUrl;
+ return pdfNewUrl;
}
/**
@@ -90,15 +90,20 @@
Assert.notNull(templatePath, "模板路径不能为空");
Assert.notNull(temDir, "临时文件路径不能为空");
Assert.notNull(fileName, "导出文件名不能为空");
- Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式");
+// if (fileName.endsWith(".doc")) {
+// HWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
+// }
+// Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式");
if (!temDir.endsWith("/")) {
- temDir = temDir + File.separator;
+ temDir = temDir;
}
File dir = new File(temDir);
if (!dir.getParentFile().exists()) {
// 新建文件夹
dir.getParentFile().mkdirs();
}
+// operateWord(params,templatePath);
+
String tmpPath = "";
try {
XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params);
@@ -113,7 +118,6 @@
return tmpPath;
}
-
/**
* 将相同关键字的印章添加到同一个位置进行打印
* 1、根据关键词位置添加电子印章
@@ -123,7 +127,8 @@
* @param wordNewUrl 新word文件路径
* @param electronicSealList 电子印章信息
*/
- private static void addSameKeyWordStamp(String wordOldUrl, String wordNewUrl, List electronicSealList) throws RuntimeException {
+ private static void addSameKeyWordStamp(String wordOldUrl, String
+ wordNewUrl, List electronicSealList) throws RuntimeException {
// 加载文档
Document document = new Document();
document.loadFromFile(wordOldUrl);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
index 432cdc3..cd43ce8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java
@@ -35,10 +35,12 @@
* 3、设置文件id,作为操作空间文件名称,防止对其他同时处理的证书形成影响
*/
protected void initialization(FilePrintRegister filePrintRegister, String templateFileDir, BusinessCertificateReport certificateReport) {
+ templateFileDir = templateFileDir + certificateReport.getId()+"\\";
String fileName = fileRegisterMapper.getSignFileNameById(certificateReport.getTemplateId(), "system_template");
+ filePrintRegister.setFileName(fileName);
filePrintRegister.setTemDir(templateFileDir);
- filePrintRegister.setFileName(templateFileDir + "\\" + fileName);
- filePrintRegister.setFileNameId(String.valueOf(certificateReport.getId()));
+ filePrintRegister.setTemplatePath(templateFileDir + fileName);
+ filePrintRegister.setFileNameId(certificateReport.getId());
List fileNames = new ArrayList<>();
fileNames.add(fileName);
filePrintRegister.setBeDownloadedFileNames(fileNames);
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java
index 93f50ae..c6710fe 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java
@@ -1,7 +1,10 @@
package com.casic.missiles.service.listeners.processor.register;
+import cn.hutool.core.lang.Assert;
import com.casic.missiles.dto.business.certificate.FilePrintRegister;
+import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.enums.notifyevent.AwareCertificateTypeEnum;
+import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessCertificateReport;
import com.casic.missiles.utils.MinioUtil;
import com.casic.missiles.utils.SpringContextUtil;
@@ -17,6 +20,7 @@
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
+import java.util.Objects;
@Component
@Slf4j
@@ -41,27 +45,34 @@
* 6、返还打印产生的证书文件
*/
public String registerPrintFile(BusinessCertificateReport certificateReport) {
+ String tempLocalFileDir = localFileDir;
+ Assert.isFalse(Objects.isNull(certificateReport), () -> {
+ throw new RuntimeException("the certificateReport is null,please check your params...");
+ });
//获取对应证书的beanName
String fileDataRegisterBeanName = AwareCertificateTypeEnum.CERTIFICATE_TYPE_BEAN_MAP
.getCertificateTypeBeanMap().get(certificateReport.getCertificateReportType());
- if (StringUtils.isEmpty(fileDataRegisterBeanName)) {
+ Assert.isFalse(StringUtils.isEmpty(fileDataRegisterBeanName), () -> {
throw new RuntimeException("the bean mapped by this certificate type has no mapping relationship...");
- }
+ });
PrintFileDataGeneric fileDataGeneric = SpringContextUtil.getBean(fileDataRegisterBeanName);
if (fileDataGeneric != null) {
- FilePrintRegister metaData = fileDataGeneric.CustomizedPrintFileRegister(certificateReport, localFileDir);
- localFileDir=localFileDir+"\\"+metaData.getFileNameId();
+ FilePrintRegister metaData = fileDataGeneric.CustomizedPrintFileRegister(certificateReport, tempLocalFileDir);
+ //获取文件夹目录,没有则创建
+ tempLocalFileDir = tempLocalFileDir + metaData.getFileNameId() + "\\";
+ getLocalFileDir(tempLocalFileDir);
//证书产生准备工作,将相应的文件下载到本地的工作空间,获取相应的模板的读取权限
- metaData.getBeDownloadedFileNames().forEach(
- fileName -> downTemplateFile(fileName)
- );
+ for (String fileName : metaData.getBeDownloadedFileNames()) {
+ downTemplateFile(fileName, tempLocalFileDir);
+ }
+ ;
//合并注册
String certificatePdfName = FilePrintRegisterUtils.filePrintGenerate(metaData);
//上传到服务器
uploadCertificate(certificatePdfName);
//删除无效的文件
- File invalidFile = new File(localFileDir);
- log.debug("invalid print file start delete, the file directory is {}", localFileDir);
+ File invalidFile = new File(tempLocalFileDir);
+ log.debug("invalid print file start delete, the file directory is {}", tempLocalFileDir);
//删除运行空间下的文件
deleteFile(invalidFile);
return certificatePdfName;
@@ -70,9 +81,20 @@
}
/**
- * 下载文件,获取文件的读写权限
+ * 创建文件目录,为mini下载文件准备目录
*/
- private void downTemplateFile(String fileName) {
+ private void getLocalFileDir(String tempLocalFileDir) {
+ File file = new File(tempLocalFileDir); //以.
+ if (file.exists()) {
+ deleteFile(file);
+ }
+ boolean dr = file.mkdirs(); //创建目录
+ }
+
+ /**
+ * 从mini文件服务器下载文件,获取文件的读写权限,用户证书报告的生成
+ */
+ private void downTemplateFile(String fileName, String templocalFileDir) {
// Properties properties = new Properties();
// String bucketName = properties.getProperty("minio.bucketName");
// MinioClient minioClient = SpringContextUtil.getBean(MinioClient.class);
@@ -84,7 +106,7 @@
IOUtils.copy(in, out);
//封装返回值
byte[] bytes = out.toByteArray();
- FilePrintRegisterUtils.byteToFile(bytes, localFileDir, fileName);
+ FilePrintRegisterUtils.byteToFile(bytes, templocalFileDir, fileName);
} catch (Exception e) {
e.printStackTrace();
} finally {
@@ -106,25 +128,34 @@
}
/**
- * 通过生成的证书报告url,将证书报告上传到远程的文件服务器
+ * 通过生成的证书报告,将证书报告上传到远程mini的文件服务器
*/
public void uploadCertificate(String certificatePrintUrl) {
+ //上传证书
+ File file = new File(certificatePrintUrl);
+ //获取file对象的文件输入流
+ FileInputStream input = null;
try {
- //上传证书
- File file = new File(localFileDir + certificatePrintUrl);
- //获取file对象的文件输入流
- FileInputStream input = new FileInputStream(file);
+ input = new FileInputStream(file);
MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), "text/plain", IOUtils.toByteArray(input));
MultipartFile[] multipartFiles = new MultipartFile[1];
multipartFiles[0] = multipartFile;
minioUtil.upload(multipartFiles);
} catch (IOException ie) {
log.error("Description Failed to upload the certificate to the server,the failed reason is {}...", ie);
+ } finally {
+ if (input != null) {
+ try {
+ input.close();
+ } catch (IOException e) {
+ log.error("the upload Certificate input stream release is anomaly");
+ }
+ }
}
}
/**
- * 对打印报告产生的空间进行清除
+ * 对打印报告产生的空间进行清除,还原空间
*/
private void deleteFile(File invalidFile) {
//返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
@@ -143,7 +174,9 @@
if (invalidFile.list().length == 0) {
log.debug("invalid print file has already delete success!");
}
+ //删除子目录
+ if (invalidFile != null && invalidFile.isDirectory()) {
+ invalidFile.delete();
+ }
}
-
-
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/data/CalibrationPrintFileData.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/data/CalibrationPrintFileData.java
index b0ef556..eb95a6a 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/data/CalibrationPrintFileData.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/data/CalibrationPrintFileData.java
@@ -49,7 +49,8 @@
private List getCustomizedSignName(BusinessCertificateReport certificateReport) {
List customizedSignNames = new ArrayList<>();
List fileNames = new ArrayList<>();
- String signName = fileRegisterMapper.getSignFileNameById(certificateReport.getSignId(), "");
+ String signName = fileRegisterMapper.getSignFileNameById(certificateReport.getSignId(), "system_sign");
+ fileNames.add(signName);
return customizedSignNames;
}