|
@@ -11,6 +11,10 @@ import com.lowagie.text.pdf.BaseFont;
|
|
|
import com.lowagie.text.pdf.PdfPTable;
|
|
|
import com.lowagie.text.pdf.PdfWriter;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.apache.commons.fileupload.disk.DiskFileItem;
|
|
|
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
|
|
+import org.apache.commons.io.FileUtils;
|
|
|
+import org.apache.commons.io.IOUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.commons.lang.time.DateUtils;
|
|
|
import org.springblade.business.dto.TrialMaterialMobilizationDTO;
|
|
@@ -35,24 +39,25 @@ import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.oss.model.BladeFile;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
-import org.springblade.core.tool.utils.BeanUtil;
|
|
|
-import org.springblade.core.tool.utils.DateUtil;
|
|
|
-import org.springblade.core.tool.utils.Func;
|
|
|
-import org.springblade.core.tool.utils.ObjectUtil;
|
|
|
+import org.springblade.core.tool.utils.*;
|
|
|
import org.springblade.resource.entity.Attach;
|
|
|
+import org.springblade.resource.feign.CommonFileClient;
|
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
|
+import org.springblade.resource.vo.NewBladeFile;
|
|
|
import org.springblade.system.entity.Dict;
|
|
|
import org.springblade.system.feign.IDictClient;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
+import org.springframework.http.MediaType;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
+import org.springframework.mock.web.MockMultipartFile;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.File;
|
|
|
-import java.io.FileOutputStream;
|
|
|
-import java.io.IOException;
|
|
|
+import java.io.*;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -66,6 +71,7 @@ public class TrialMaterialMobilizationServiceImpl extends BaseServiceImpl<TrialM
|
|
|
private final TrialSamplingRecordMapper trialSamplingRecordMapper;
|
|
|
private final NewIOSSClient newIOSSClient;
|
|
|
private final JdbcTemplate jdbcTemplate;
|
|
|
+ private final CommonFileClient commonFileClient;
|
|
|
|
|
|
@Override
|
|
|
public boolean mobilizationVerification(String number, String id, String contractId) {
|
|
@@ -410,21 +416,48 @@ public class TrialMaterialMobilizationServiceImpl extends BaseServiceImpl<TrialM
|
|
|
|
|
|
@Override
|
|
|
public boolean uploadFile(String id, Integer type, String url) {
|
|
|
+ String pdfUrl = "";
|
|
|
+ try {
|
|
|
+ NewBladeFile bladeFile = null;
|
|
|
+ InputStream is = CommonUtil.getOSSInputStream(url);
|
|
|
+ String fileName = url.substring(url.lastIndexOf("/") + 1);
|
|
|
+ MultipartFile files = new MockMultipartFile("file", fileName, "text/plain", org.apache.poi.util.IOUtils.toByteArray(is));
|
|
|
+ // 根据url后缀检测文件类型
|
|
|
+ String extension = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
|
|
|
+ if (extension.equals("xlsx") || extension.equals("xls")) {
|
|
|
+ bladeFile = this.commonFileClient.excelToPdf(files);
|
|
|
+ } else if (extension.equals("jpg") || extension.equals("png") || extension.equals("jpeg")) {
|
|
|
+ bladeFile = this.commonFileClient.pngOrJpgToPdf(files);
|
|
|
+ } else if (extension.equals("docx") || extension.equals("doc")) {
|
|
|
+ bladeFile = this.commonFileClient.wordToPdf(files);
|
|
|
+ } else if (extension.equals("pdf")) {
|
|
|
+ pdfUrl = url;
|
|
|
+ }
|
|
|
+ if (bladeFile != null) {
|
|
|
+ pdfUrl = bladeFile.getPdfUrl();
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("上传文件失败", e);
|
|
|
+ }
|
|
|
+
|
|
|
if (type == 1) {
|
|
|
this.update(Wrappers.<TrialMaterialMobilization>lambdaUpdate()
|
|
|
.set(TrialMaterialMobilization::getProductionCertificate, url)
|
|
|
+ .set(TrialMaterialMobilization::getProductionCertificatePdfUrl, pdfUrl)
|
|
|
.eq(TrialMaterialMobilization::getId, id));
|
|
|
return true;
|
|
|
}
|
|
|
if (type == 2) {
|
|
|
this.update(Wrappers.<TrialMaterialMobilization>lambdaUpdate()
|
|
|
.set(TrialMaterialMobilization::getQualityInspectionReport, url)
|
|
|
+ .set(TrialMaterialMobilization::getQualityInspectionReportPdfUrl, pdfUrl)
|
|
|
.eq(TrialMaterialMobilization::getId, id));
|
|
|
return true;
|
|
|
}
|
|
|
if (type == 3) {
|
|
|
this.update(Wrappers.<TrialMaterialMobilization>lambdaUpdate()
|
|
|
.set(TrialMaterialMobilization::getOtherAccessories, url)
|
|
|
+ .set(TrialMaterialMobilization::getOtherAccessoriesPdfUrl, pdfUrl)
|
|
|
.eq(TrialMaterialMobilization::getId, id));
|
|
|
return true;
|
|
|
}
|