|
@@ -24,8 +24,9 @@ import java.net.URISyntaxException;
|
|
|
import java.net.URL;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.util.*;
|
|
|
+
|
|
|
@Component
|
|
|
-public class PdfUtil implements InitializingBean{
|
|
|
+public class PdfUtil implements InitializingBean {
|
|
|
@Autowired
|
|
|
private IOrderInfoService orderInfoService;
|
|
|
@Autowired
|
|
@@ -46,23 +47,29 @@ public class PdfUtil implements InitializingBean{
|
|
|
private OSSClient ossClient;
|
|
|
|
|
|
private String host;
|
|
|
+
|
|
|
public void afterPropertiesSet() throws Exception {
|
|
|
host = "http://" + bucket + "." + endpoint;
|
|
|
}
|
|
|
+
|
|
|
public String tranContract(OrderInfo orderInfo) throws IOException, DocumentException, URISyntaxException {//利用模板生成pdf
|
|
|
|
|
|
//订单信息
|
|
|
OrderInfo orderInfo1 = orderInfoService.selectById(orderInfo.getId());
|
|
|
//查询司机信息
|
|
|
- HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id",orderInfo1.getCommonId())
|
|
|
- .eq("delete_flag","0"));
|
|
|
+ HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id", orderInfo1.getCommonId())
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
HyDriverPayeeInfo hyDriverPayeeInfo = driverPayeeInfoService.selectOne(new EntityWrapper<HyDriverPayeeInfo>().eq("driver_id", hyDriverInfo.getId())
|
|
|
- .eq("delete_flag","0"));
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
+ String owner = "";
|
|
|
HyDriverCarInfo hyDriverCarInfo = driverCarInfoService.selectOne(new EntityWrapper<HyDriverCarInfo>().eq("driver_id", hyDriverInfo.getId())
|
|
|
- .eq("car_number",orderInfo.getCarNumber()).eq("delete_flag","0"));
|
|
|
+ .eq("car_number", orderInfo.getCarNumber()).eq("delete_flag", "0"));
|
|
|
+ if (hyDriverCarInfo != null){
|
|
|
+ owner = hyDriverCarInfo.getOwner();
|
|
|
+ }
|
|
|
//任务信息
|
|
|
- PublishTaskInfo publishTaskInfo = publishTaskInfoService.selectOne(new EntityWrapper<PublishTaskInfo>().eq("id",orderInfo1.getTaskId())
|
|
|
- .eq("delete_flag","0"));
|
|
|
+ PublishTaskInfo publishTaskInfo = publishTaskInfoService.selectOne(new EntityWrapper<PublishTaskInfo>().eq("id", orderInfo1.getTaskId())
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
|
|
|
|
|
//模板路径
|
|
@@ -74,14 +81,14 @@ public class PdfUtil implements InitializingBean{
|
|
|
ByteArrayOutputStream bos;
|
|
|
PdfStamper stamper;
|
|
|
System.out.println("pdfUtil start");
|
|
|
- File file = new File( new String(pdfTmp.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
|
|
|
- File file1 = new File( new String(newPDFPath.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
|
|
|
+ File file = new File(new String(pdfTmp.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
|
|
|
+ File file1 = new File(new String(newPDFPath.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
|
|
|
System.out.println(file.getAbsolutePath());
|
|
|
System.out.println(file1.getAbsolutePath());
|
|
|
- if(!file.exists()){
|
|
|
+ if (!file.exists()) {
|
|
|
System.out.println("pdfUtil file not exists");
|
|
|
}
|
|
|
- if(!file1.exists()){
|
|
|
+ if (!file1.exists()) {
|
|
|
System.out.println("pdfUtil file1 not exists");
|
|
|
}
|
|
|
out = new FileOutputStream(file1.getAbsoluteFile());//输出流
|
|
@@ -92,15 +99,19 @@ public class PdfUtil implements InitializingBean{
|
|
|
stamper = new PdfStamper(reader, bos);
|
|
|
AcroFields form = stamper.getAcroFields();
|
|
|
Iterator<String> it = form.getFields().keySet().iterator();
|
|
|
- Calendar start= Calendar.getInstance();
|
|
|
- start.setTime(orderInfo.getTranStartDate());
|
|
|
- Calendar end= Calendar.getInstance();
|
|
|
- end.setTime(orderInfo.getTranEndDate());
|
|
|
- Calendar now= Calendar.getInstance();
|
|
|
+ Calendar start = Calendar.getInstance();
|
|
|
+ if (orderInfo.getTranStartDate() != null) {
|
|
|
+ start.setTime(orderInfo.getTranStartDate());
|
|
|
+ }
|
|
|
+ Calendar end = Calendar.getInstance();
|
|
|
+ if (orderInfo.getTranEndDate() != null) {
|
|
|
+ end.setTime(orderInfo.getTranEndDate());
|
|
|
+ }
|
|
|
+ Calendar now = Calendar.getInstance();
|
|
|
now.setTime(new Date());
|
|
|
float fontSize = 12f;
|
|
|
String font_cn = getChineseFont();
|
|
|
- BaseFont bf = BaseFont.createFont(font_cn+",0",
|
|
|
+ BaseFont bf = BaseFont.createFont(font_cn + ",0",
|
|
|
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
|
|
|
while (it.hasNext()) {
|
|
|
String name = it.next().toString();
|
|
@@ -115,128 +126,178 @@ public class PdfUtil implements InitializingBean{
|
|
|
// BaseFont bf =BaseFont.createFont("STSong-Light", BaseFont.CP1250,BaseFont.NOT_EMBEDDED);
|
|
|
arrayList.add(bf);
|
|
|
form.setSubstitutionFonts(arrayList);
|
|
|
- form.setFieldProperty(name,"textsize",9f,null);
|
|
|
+ form.setFieldProperty(name, "textsize", 9f, null);
|
|
|
//填写内容部分
|
|
|
- switch (name){
|
|
|
- case "fill_1" :
|
|
|
- form.setField(name, "黑龙江畅运通物流供应链有限公司");break;
|
|
|
- case "fill_2" :
|
|
|
- form.setField(name, orderInfo1.getDriverName());break;
|
|
|
- case "fill_3" :
|
|
|
- form.setField(name, "91230229MABPEWQX94");break;
|
|
|
- case "fill_4" :
|
|
|
- form.setField(name, hyDriverInfo.getNumberCard());break;
|
|
|
- case "fill_18" :
|
|
|
- form.setField(name, orderInfo.getCarNumber());break;
|
|
|
- case "fill_19" :
|
|
|
- form.setField(name, orderInfo.getTrailerNumber());break;
|
|
|
- case "fill_5" :
|
|
|
- form.setField(name, hyDriverCarInfo.getOwner());break;
|
|
|
- case "fill_6" :
|
|
|
- form.setField(name, start.get(Calendar.YEAR)+"");break;
|
|
|
- case "fill_7" :
|
|
|
- form.setField(name, start.get(Calendar.MONTH)+1+"");break;
|
|
|
- case "fill_8" :
|
|
|
- form.setField(name, start.get(Calendar.DAY_OF_MONTH)+"");break;
|
|
|
- case "fill_9" :
|
|
|
- form.setField(name, end.get(Calendar.YEAR)+"");break;
|
|
|
- case "fill_10" :
|
|
|
- form.setField(name, end.get(Calendar.MONTH)+1+"");break;
|
|
|
- case "fill_11" :
|
|
|
- form.setField(name, end.get(Calendar.DAY_OF_MONTH)+"");break;
|
|
|
- case "fill_12" :
|
|
|
- form.setField(name, publishTaskInfo.getSender());break;
|
|
|
- case "fill_13" :
|
|
|
- form.setField(name, publishTaskInfo.getSenderPhone());break;
|
|
|
- case "fill_14" :
|
|
|
- form.setField(name, publishTaskInfo.getReceiver());break;
|
|
|
- case "fill_15" :
|
|
|
- form.setField(name, publishTaskInfo.getReceiverPhone());break;
|
|
|
- case "fill_16" :
|
|
|
- form.setField(name, publishTaskInfo.getSendPrivate()+publishTaskInfo.getSendCity()+publishTaskInfo.getSendArea()
|
|
|
- +publishTaskInfo.getSendDetailedAddress());break;
|
|
|
- case "fill_17" :
|
|
|
- form.setField(name, publishTaskInfo.getUnloadPrivate()+publishTaskInfo.getUnloadCity()+publishTaskInfo.getUnloadArea()
|
|
|
- +publishTaskInfo.getUnloadDetailedAddress());break;
|
|
|
- case "fill_1_2" :
|
|
|
- form.setField(name, orderInfo1.getDriverName());break;
|
|
|
- case "fill_2_2" :
|
|
|
- form.setField(name, hyDriverInfo.getQuasiDrivingVehicle());break;
|
|
|
- case "fill_3_2" :
|
|
|
- form.setField(name, orderInfo1.getDriverPhone());break;
|
|
|
- case "fill_4_2" :
|
|
|
- form.setField(name, orderInfo.getContactPersonName());break;
|
|
|
- case "fill_5_2" :
|
|
|
- form.setField(name, orderInfo.getContactPersonPhone());break;
|
|
|
- case "fill_7_2" :
|
|
|
- form.setField(name, publishTaskInfo.getSendPrivate()+publishTaskInfo.getSendCity()+publishTaskInfo.getSendArea()
|
|
|
- +publishTaskInfo.getSendDetailedAddress());break;
|
|
|
- case "fill_8_2" :
|
|
|
- form.setField(name, publishTaskInfo.getUnloadPrivate()+publishTaskInfo.getUnloadCity()+publishTaskInfo.getUnloadArea()
|
|
|
- +publishTaskInfo.getUnloadDetailedAddress());break;
|
|
|
- case "fill_9_2" :
|
|
|
- form.setField(name, publishTaskInfo.getGoodsName());break;
|
|
|
- case "Text1" :
|
|
|
- form.setField(name, orderInfo.getFreightCars());break;
|
|
|
- case "Text2" :
|
|
|
- form.setField(name, orderInfo.getFreightCars());break;
|
|
|
- case "Text3" :
|
|
|
- form.setField(name, String.valueOf(orderInfo.getAdvanceCharge() == null ? 0 : orderInfo.getAdvanceCharge()));break;
|
|
|
- case "fill_6_2" :
|
|
|
- form.setField(name, hyDriverPayeeInfo.getBankCard());break;
|
|
|
- case "fill_1_3" :
|
|
|
- form.setField(name, hyDriverPayeeInfo.getBankDeposit());break;
|
|
|
- case "Text4" :
|
|
|
- form.setField(name, "甲方");break;
|
|
|
- case "Text5" :
|
|
|
- form.setField(name, "甲方");break;
|
|
|
- case "Text6" :
|
|
|
+ switch (name) {
|
|
|
+ case "fill_1":
|
|
|
+ form.setField(name, "黑龙江畅运通物流供应链有限公司");
|
|
|
+ break;
|
|
|
+ case "fill_2":
|
|
|
+ form.setField(name, orderInfo1.getDriverName());
|
|
|
+ break;
|
|
|
+ case "fill_3":
|
|
|
+ form.setField(name, "91230229MABPEWQX94");
|
|
|
+ break;
|
|
|
+ case "fill_4":
|
|
|
+ form.setField(name, hyDriverInfo.getNumberCard());
|
|
|
+ break;
|
|
|
+ case "fill_18":
|
|
|
+ form.setField(name, orderInfo.getCarNumber() == null ? "" : orderInfo.getCarNumber());
|
|
|
+ break;
|
|
|
+ case "fill_19":
|
|
|
+ form.setField(name, orderInfo.getTrailerNumber() == null ? "" : orderInfo.getTrailerNumber());
|
|
|
+ break;
|
|
|
+ case "fill_5":
|
|
|
+ form.setField(name, owner);
|
|
|
+ break;
|
|
|
+ case "fill_6":
|
|
|
+ form.setField(name, start.get(Calendar.YEAR) + "");
|
|
|
+ break;
|
|
|
+ case "fill_7":
|
|
|
+ form.setField(name, start.get(Calendar.MONTH) + 1 + "");
|
|
|
+ break;
|
|
|
+ case "fill_8":
|
|
|
+ form.setField(name, start.get(Calendar.DAY_OF_MONTH) + "");
|
|
|
+ break;
|
|
|
+ case "fill_9":
|
|
|
+ form.setField(name, end.get(Calendar.YEAR) + "");
|
|
|
+ break;
|
|
|
+ case "fill_10":
|
|
|
+ form.setField(name, end.get(Calendar.MONTH) + 1 + "");
|
|
|
+ break;
|
|
|
+ case "fill_11":
|
|
|
+ form.setField(name, end.get(Calendar.DAY_OF_MONTH) + "");
|
|
|
+ break;
|
|
|
+ case "fill_12":
|
|
|
+ form.setField(name, publishTaskInfo.getSender());
|
|
|
+ break;
|
|
|
+ case "fill_13":
|
|
|
+ form.setField(name, publishTaskInfo.getSenderPhone());
|
|
|
+ break;
|
|
|
+ case "fill_14":
|
|
|
+ form.setField(name, publishTaskInfo.getReceiver());
|
|
|
+ break;
|
|
|
+ case "fill_15":
|
|
|
+ form.setField(name, publishTaskInfo.getReceiverPhone());
|
|
|
+ break;
|
|
|
+ case "fill_16":
|
|
|
+ form.setField(name, publishTaskInfo.getSendPrivate() + publishTaskInfo.getSendCity() + publishTaskInfo.getSendArea()
|
|
|
+ + publishTaskInfo.getSendDetailedAddress());
|
|
|
+ break;
|
|
|
+ case "fill_17":
|
|
|
+ form.setField(name, publishTaskInfo.getUnloadPrivate() + publishTaskInfo.getUnloadCity() + publishTaskInfo.getUnloadArea()
|
|
|
+ + publishTaskInfo.getUnloadDetailedAddress());
|
|
|
+ break;
|
|
|
+ case "fill_1_2":
|
|
|
+ form.setField(name, orderInfo1.getDriverName());
|
|
|
+ break;
|
|
|
+ case "fill_2_2":
|
|
|
+ form.setField(name, hyDriverInfo.getQuasiDrivingVehicle());
|
|
|
+ break;
|
|
|
+ case "fill_3_2":
|
|
|
+ form.setField(name, orderInfo1.getDriverPhone());
|
|
|
+ break;
|
|
|
+ case "fill_4_2":
|
|
|
+ form.setField(name, orderInfo.getContactPersonName() == null ? "" : orderInfo.getContactPersonName());
|
|
|
+ break;
|
|
|
+ case "fill_5_2":
|
|
|
+ form.setField(name, orderInfo.getContactPersonPhone() == null ? "" : orderInfo.getContactPersonPhone());
|
|
|
+ break;
|
|
|
+ case "fill_7_2":
|
|
|
+ form.setField(name, publishTaskInfo.getSendPrivate() + publishTaskInfo.getSendCity() + publishTaskInfo.getSendArea()
|
|
|
+ + publishTaskInfo.getSendDetailedAddress());
|
|
|
+ break;
|
|
|
+ case "fill_8_2":
|
|
|
+ form.setField(name, publishTaskInfo.getUnloadPrivate() + publishTaskInfo.getUnloadCity() + publishTaskInfo.getUnloadArea()
|
|
|
+ + publishTaskInfo.getUnloadDetailedAddress());
|
|
|
+ break;
|
|
|
+ case "fill_9_2":
|
|
|
+ form.setField(name, publishTaskInfo.getGoodsName());
|
|
|
+ break;
|
|
|
+ case "Text1":
|
|
|
+ form.setField(name, orderInfo.getFreightCars() == null ? "" : orderInfo.getFreightCars());
|
|
|
+ break;
|
|
|
+ case "Text2":
|
|
|
+ form.setField(name, orderInfo.getFreightCars() == null ? "" : orderInfo.getFreightCars());
|
|
|
+ break;
|
|
|
+ case "Text3":
|
|
|
+ form.setField(name, String.valueOf(orderInfo.getAdvanceCharge() == null ? 0 : orderInfo.getAdvanceCharge()));
|
|
|
+ break;
|
|
|
+ case "fill_6_2":
|
|
|
+ form.setField(name, hyDriverPayeeInfo.getBankCard());
|
|
|
+ break;
|
|
|
+ case "fill_1_3":
|
|
|
+ form.setField(name, hyDriverPayeeInfo.getBankDeposit());
|
|
|
+ break;
|
|
|
+ case "Text4":
|
|
|
+ form.setField(name, "甲方");
|
|
|
+ break;
|
|
|
+ case "Text5":
|
|
|
+ form.setField(name, "甲方");
|
|
|
+ break;
|
|
|
+ case "Text6":
|
|
|
Image image1 = Image.getInstance(new URL("https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/gongzhang.png"));
|
|
|
image1.scaleToFit(signRect.getWidth(), signRect.getHeight());
|
|
|
image1.setAbsolutePosition(x, y);
|
|
|
under.addImage(image1);
|
|
|
- break;
|
|
|
- case "Text7" :
|
|
|
- form.setField(name, "辽宁省营口市鲅鱼圈区青龙山大街8号");break;
|
|
|
- case "Text8" :
|
|
|
- form.setField(name, "4006688647");break;
|
|
|
- case "Text12" :
|
|
|
- form.setField(name, now.get(Calendar.YEAR)+"");break;
|
|
|
- case "Text13" :
|
|
|
- form.setField(name, now.get(Calendar.MONTH)+1+"");break;
|
|
|
- case "Text14" :
|
|
|
- form.setField(name, now.get(Calendar.DAY_OF_MONTH)+"");break;
|
|
|
- case "Text15" :
|
|
|
- if(orderInfo.getDriverAutograph() == null || orderInfo.getDriverAutograph().isEmpty()){
|
|
|
+ break;
|
|
|
+ case "Text7":
|
|
|
+ form.setField(name, "辽宁省营口市鲅鱼圈区青龙山大街8号");
|
|
|
+ break;
|
|
|
+ case "Text8":
|
|
|
+ form.setField(name, "4006688647");
|
|
|
+ break;
|
|
|
+ case "Text12":
|
|
|
+ form.setField(name, now.get(Calendar.YEAR) + "");
|
|
|
+ break;
|
|
|
+ case "Text13":
|
|
|
+ form.setField(name, now.get(Calendar.MONTH) + 1 + "");
|
|
|
+ break;
|
|
|
+ case "Text14":
|
|
|
+ form.setField(name, now.get(Calendar.DAY_OF_MONTH) + "");
|
|
|
+ break;
|
|
|
+ case "Text15":
|
|
|
+ if (orderInfo.getDriverAutograph() == null || orderInfo.getDriverAutograph().isEmpty()) {
|
|
|
break;
|
|
|
}
|
|
|
Image image3 = Image.getInstance(new URL(orderInfo.getDriverAutograph()));
|
|
|
image3.scaleToFit(signRect.getWidth(), signRect.getHeight());
|
|
|
image3.setAbsolutePosition(x, y);
|
|
|
under.addImage(image3);
|
|
|
- break;
|
|
|
- case "Text16" :
|
|
|
- form.setField(name, hyDriverInfo.getPostalAddress());break;
|
|
|
- case "Text17" :
|
|
|
- form.setField(name, orderInfo1.getDriverPhone());break;
|
|
|
- case "Text18" :
|
|
|
- form.setField(name, now.get(Calendar.YEAR)+"");break;
|
|
|
- case "Text19" :
|
|
|
- form.setField(name, now.get(Calendar.MONTH)+1+"");break;
|
|
|
- case "Text20" :
|
|
|
- form.setField(name, now.get(Calendar.DAY_OF_MONTH)+"");break;
|
|
|
- case "fill_1_4" :
|
|
|
- form.setField(name, "1");break;
|
|
|
- case "fill_2_3" :
|
|
|
- form.setField(name, orderInfo1.getDriverName());break;
|
|
|
- case "fill_3_3" :
|
|
|
- form.setField(name, hyDriverInfo.getDriverSex());break;
|
|
|
- case "fill_4_3" :
|
|
|
- form.setField(name, hyDriverInfo.getNumberCard());break;
|
|
|
- case "fill_5_3" :
|
|
|
- form.setField(name, hyDriverInfo.getQuasiDrivingVehicle());break;
|
|
|
- case "fill_6_3" :
|
|
|
- form.setField(name, hyDriverCarInfo.getCarNumber());break;
|
|
|
+ break;
|
|
|
+ case "Text16":
|
|
|
+ form.setField(name, hyDriverInfo.getPostalAddress());
|
|
|
+ break;
|
|
|
+ case "Text17":
|
|
|
+ form.setField(name, orderInfo1.getDriverPhone());
|
|
|
+ break;
|
|
|
+ case "Text18":
|
|
|
+ form.setField(name, now.get(Calendar.YEAR) + "");
|
|
|
+ break;
|
|
|
+ case "Text19":
|
|
|
+ form.setField(name, now.get(Calendar.MONTH) + 1 + "");
|
|
|
+ break;
|
|
|
+ case "Text20":
|
|
|
+ form.setField(name, now.get(Calendar.DAY_OF_MONTH) + "");
|
|
|
+ break;
|
|
|
+ case "fill_1_4":
|
|
|
+ form.setField(name, "1");
|
|
|
+ break;
|
|
|
+ case "fill_2_3":
|
|
|
+ form.setField(name, orderInfo1.getDriverName());
|
|
|
+ break;
|
|
|
+ case "fill_3_3":
|
|
|
+ form.setField(name, hyDriverInfo.getDriverSex());
|
|
|
+ break;
|
|
|
+ case "fill_4_3":
|
|
|
+ form.setField(name, hyDriverInfo.getNumberCard());
|
|
|
+ break;
|
|
|
+ case "fill_5_3":
|
|
|
+ form.setField(name, hyDriverInfo.getQuasiDrivingVehicle());
|
|
|
+ break;
|
|
|
+ case "fill_6_3":
|
|
|
+ form.setField(name, orderInfo.getCarNumber() == null ? "" : orderInfo.getCarNumber());
|
|
|
+ break;
|
|
|
|
|
|
}
|
|
|
//
|
|
@@ -273,21 +334,21 @@ public class PdfUtil implements InitializingBean{
|
|
|
|
|
|
FileInputStream fileInputStream = new FileInputStream(file1);
|
|
|
|
|
|
- MultipartFile multipartFile = new MockMultipartFile( ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
|
|
|
+ MultipartFile multipartFile = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
|
|
|
return this.upload(multipartFile);
|
|
|
}
|
|
|
|
|
|
- public String transactionContract(OrderInfo orderInfo) throws IOException, DocumentException, URISyntaxException {//利用模板生成pdf
|
|
|
+ public String transactionContract(OrderInfo orderInfo) throws IOException, DocumentException, URISyntaxException {//利用模板生成pdf
|
|
|
//订单信息
|
|
|
OrderInfo orderInfo1 = orderInfoService.selectById(orderInfo.getId());
|
|
|
//查询司机信息
|
|
|
- HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id",orderInfo1.getCommonId())
|
|
|
- .eq("delete_flag","0"));
|
|
|
+ HyDriverInfo hyDriverInfo = driverInfoService.selectOne(new EntityWrapper<HyDriverInfo>().eq("common_id", orderInfo1.getCommonId())
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
HyDriverPayeeInfo hyDriverPayeeInfo = driverPayeeInfoService.selectOne(new EntityWrapper<HyDriverPayeeInfo>().eq("driver_id", hyDriverInfo.getId())
|
|
|
- .eq("delete_flag","0"));
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
//任务信息
|
|
|
- PublishTaskInfo publishTaskInfo = publishTaskInfoService.selectOne(new EntityWrapper<PublishTaskInfo>().eq("id",orderInfo1.getTaskId())
|
|
|
- .eq("delete_flag","0"));
|
|
|
+ PublishTaskInfo publishTaskInfo = publishTaskInfoService.selectOne(new EntityWrapper<PublishTaskInfo>().eq("id", orderInfo1.getTaskId())
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
|
|
|
|
|
|
//模板路径
|
|
@@ -299,14 +360,14 @@ public class PdfUtil implements InitializingBean{
|
|
|
ByteArrayOutputStream bos;
|
|
|
PdfStamper stamper;
|
|
|
System.out.println("pdfUtil start");
|
|
|
- File file = new File( new String(pdfTmp.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
|
|
|
- File file1 = new File( new String(newPDFPath.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
|
|
|
+ File file = new File(new String(pdfTmp.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
|
|
|
+ File file1 = new File(new String(newPDFPath.getBytes(StandardCharsets.UTF_8), StandardCharsets.UTF_8));
|
|
|
System.out.println(file.getAbsolutePath());
|
|
|
System.out.println(file1.getAbsolutePath());
|
|
|
- if(!file.exists()){
|
|
|
+ if (!file.exists()) {
|
|
|
System.out.println("pdfUtil file not exists");
|
|
|
}
|
|
|
- if(!file1.exists()){
|
|
|
+ if (!file1.exists()) {
|
|
|
System.out.println("pdfUtil file1 not exists");
|
|
|
}
|
|
|
out = new FileOutputStream(file1.getAbsoluteFile());//输出流
|
|
@@ -317,15 +378,15 @@ public class PdfUtil implements InitializingBean{
|
|
|
stamper = new PdfStamper(reader, bos);
|
|
|
AcroFields form = stamper.getAcroFields();
|
|
|
Iterator<String> it = form.getFields().keySet().iterator();
|
|
|
- Calendar start= Calendar.getInstance();
|
|
|
+ Calendar start = Calendar.getInstance();
|
|
|
start.setTime(orderInfo1.getCreateDate());
|
|
|
- Calendar end= Calendar.getInstance();
|
|
|
+ Calendar end = Calendar.getInstance();
|
|
|
end.setTime(orderInfo1.getCreateDate());
|
|
|
- Calendar now= Calendar.getInstance();
|
|
|
+ Calendar now = Calendar.getInstance();
|
|
|
now.setTime(new Date());
|
|
|
float fontSize = 12f;
|
|
|
String font_cn = getChineseFont();
|
|
|
- BaseFont bf = BaseFont.createFont(font_cn+",0",
|
|
|
+ BaseFont bf = BaseFont.createFont(font_cn + ",0",
|
|
|
BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
|
|
|
while (it.hasNext()) {
|
|
|
String name = it.next().toString();
|
|
@@ -340,93 +401,129 @@ public class PdfUtil implements InitializingBean{
|
|
|
// BaseFont bf =BaseFont.createFont("STSong-Light", BaseFont.CP1250,BaseFont.NOT_EMBEDDED);
|
|
|
arrayList.add(bf);
|
|
|
form.setSubstitutionFonts(arrayList);
|
|
|
- form.setFieldProperty(name,"textsize",9f,null);
|
|
|
+ form.setFieldProperty(name, "textsize", 9f, null);
|
|
|
//填写内容部分
|
|
|
- switch (name){
|
|
|
- case "fill_1" :
|
|
|
- form.setField(name, "黑龙江中天昊元贸易有限公司");break;
|
|
|
- case "fill_2" :
|
|
|
- form.setField(name, orderInfo1.getDriverName());break;
|
|
|
- case "fill_3" :
|
|
|
- form.setField(name, "91230230MA1BNL7Q93");break;
|
|
|
- case "fill_4" :
|
|
|
- form.setField(name, hyDriverInfo.getNumberCard());break;
|
|
|
- case "fill_6" :
|
|
|
- form.setField(name, start.get(Calendar.YEAR)+"");break;
|
|
|
- case "fill_7" :
|
|
|
- form.setField(name, start.get(Calendar.MONTH)+1+"");break;
|
|
|
- case "fill_8" :
|
|
|
- form.setField(name, start.get(Calendar.DAY_OF_MONTH)+"");break;
|
|
|
- case "fill_9" :
|
|
|
- form.setField(name, end.get(Calendar.YEAR)+"");break;
|
|
|
- case "fill_10" :
|
|
|
- form.setField(name, end.get(Calendar.MONTH)+1+"");break;
|
|
|
- case "fill_11" :
|
|
|
- form.setField(name, end.get(Calendar.DAY_OF_MONTH)+"");break;
|
|
|
- case "fill_12" :
|
|
|
- form.setField(name, publishTaskInfo.getSender());break;
|
|
|
- case "fill_13" :
|
|
|
- form.setField(name, publishTaskInfo.getSenderPhone());break;
|
|
|
- case "fill_14" :
|
|
|
- form.setField(name, publishTaskInfo.getReceiver());break;
|
|
|
- case "fill_15" :
|
|
|
- form.setField(name, publishTaskInfo.getReceiverPhone());break;
|
|
|
- case "fill_16" :
|
|
|
- form.setField(name, publishTaskInfo.getSendPrivate()+publishTaskInfo.getSendCity()+publishTaskInfo.getSendArea()
|
|
|
- +publishTaskInfo.getSendDetailedAddress());break;
|
|
|
- case "fill_17" :
|
|
|
- form.setField(name, publishTaskInfo.getUnloadPrivate()+publishTaskInfo.getUnloadCity()+publishTaskInfo.getUnloadArea()
|
|
|
- +publishTaskInfo.getUnloadDetailedAddress());break;
|
|
|
- case "fill_1_2" :
|
|
|
- form.setField(name, orderInfo1.getDriverName());break;
|
|
|
- case "fill_2_2" :
|
|
|
- form.setField(name, hyDriverInfo.getQuasiDrivingVehicle());break;
|
|
|
- case "fill_3_2" :
|
|
|
- form.setField(name, orderInfo1.getDriverPhone());break;
|
|
|
- case "fill_4_2" :
|
|
|
- form.setField(name, orderInfo.getContactPersonName());break;
|
|
|
- case "fill_5_2" :
|
|
|
- form.setField(name, orderInfo.getContactPersonPhone());break;
|
|
|
- case "fill_7_2" :
|
|
|
- form.setField(name, publishTaskInfo.getSendPrivate()+publishTaskInfo.getSendCity()+publishTaskInfo.getSendArea()
|
|
|
- +publishTaskInfo.getSendDetailedAddress());break;
|
|
|
- case "fill_8_2" :
|
|
|
- form.setField(name, publishTaskInfo.getUnloadPrivate()+publishTaskInfo.getUnloadCity()+publishTaskInfo.getUnloadArea()
|
|
|
- +publishTaskInfo.getUnloadDetailedAddress());break;
|
|
|
- case "fill_9_2" :
|
|
|
- form.setField(name, publishTaskInfo.getGoodsName());break;
|
|
|
- case "Text1" :
|
|
|
- form.setField(name, orderInfo.getFreightCars());break;
|
|
|
- case "Text2" :
|
|
|
- form.setField(name, orderInfo.getFreightCars());break;
|
|
|
- case "Text3" :
|
|
|
- form.setField(name, String.valueOf(orderInfo.getAdvanceCharge() == null ? 0 : orderInfo.getAdvanceCharge()));break;
|
|
|
- case "fill_6_2" :
|
|
|
- form.setField(name, hyDriverPayeeInfo.getBankCard());break;
|
|
|
- case "fill_1_3" :
|
|
|
- form.setField(name, hyDriverPayeeInfo.getBankDeposit());break;
|
|
|
- case "Text4" :
|
|
|
- form.setField(name, "甲方");break;
|
|
|
- case "Text5" :
|
|
|
- form.setField(name, "甲方");break;
|
|
|
- case "Text6" :
|
|
|
+ switch (name) {
|
|
|
+ case "fill_1":
|
|
|
+ form.setField(name, "黑龙江中天昊元贸易有限公司");
|
|
|
+ break;
|
|
|
+ case "fill_2":
|
|
|
+ form.setField(name, orderInfo1.getDriverName());
|
|
|
+ break;
|
|
|
+ case "fill_3":
|
|
|
+ form.setField(name, "91230230MA1BNL7Q93");
|
|
|
+ break;
|
|
|
+ case "fill_4":
|
|
|
+ form.setField(name, hyDriverInfo.getNumberCard());
|
|
|
+ break;
|
|
|
+ case "fill_6":
|
|
|
+ form.setField(name, start.get(Calendar.YEAR) + "");
|
|
|
+ break;
|
|
|
+ case "fill_7":
|
|
|
+ form.setField(name, start.get(Calendar.MONTH) + 1 + "");
|
|
|
+ break;
|
|
|
+ case "fill_8":
|
|
|
+ form.setField(name, start.get(Calendar.DAY_OF_MONTH) + "");
|
|
|
+ break;
|
|
|
+ case "fill_9":
|
|
|
+ form.setField(name, end.get(Calendar.YEAR) + "");
|
|
|
+ break;
|
|
|
+ case "fill_10":
|
|
|
+ form.setField(name, end.get(Calendar.MONTH) + 1 + "");
|
|
|
+ break;
|
|
|
+ case "fill_11":
|
|
|
+ form.setField(name, end.get(Calendar.DAY_OF_MONTH) + "");
|
|
|
+ break;
|
|
|
+ case "fill_12":
|
|
|
+ form.setField(name, publishTaskInfo.getSender());
|
|
|
+ break;
|
|
|
+ case "fill_13":
|
|
|
+ form.setField(name, publishTaskInfo.getSenderPhone());
|
|
|
+ break;
|
|
|
+ case "fill_14":
|
|
|
+ form.setField(name, publishTaskInfo.getReceiver());
|
|
|
+ break;
|
|
|
+ case "fill_15":
|
|
|
+ form.setField(name, publishTaskInfo.getReceiverPhone());
|
|
|
+ break;
|
|
|
+ case "fill_16":
|
|
|
+ form.setField(name, publishTaskInfo.getSendPrivate() + publishTaskInfo.getSendCity() + publishTaskInfo.getSendArea()
|
|
|
+ + publishTaskInfo.getSendDetailedAddress());
|
|
|
+ break;
|
|
|
+ case "fill_17":
|
|
|
+ form.setField(name, publishTaskInfo.getUnloadPrivate() + publishTaskInfo.getUnloadCity() + publishTaskInfo.getUnloadArea()
|
|
|
+ + publishTaskInfo.getUnloadDetailedAddress());
|
|
|
+ break;
|
|
|
+ case "fill_1_2":
|
|
|
+ form.setField(name, orderInfo1.getDriverName());
|
|
|
+ break;
|
|
|
+ case "fill_2_2":
|
|
|
+ form.setField(name, hyDriverInfo.getQuasiDrivingVehicle());
|
|
|
+ break;
|
|
|
+ case "fill_3_2":
|
|
|
+ form.setField(name, orderInfo1.getDriverPhone());
|
|
|
+ break;
|
|
|
+ case "fill_4_2":
|
|
|
+ form.setField(name, orderInfo.getContactPersonName());
|
|
|
+ break;
|
|
|
+ case "fill_5_2":
|
|
|
+ form.setField(name, orderInfo.getContactPersonPhone());
|
|
|
+ break;
|
|
|
+ case "fill_7_2":
|
|
|
+ form.setField(name, publishTaskInfo.getSendPrivate() + publishTaskInfo.getSendCity() + publishTaskInfo.getSendArea()
|
|
|
+ + publishTaskInfo.getSendDetailedAddress());
|
|
|
+ break;
|
|
|
+ case "fill_8_2":
|
|
|
+ form.setField(name, publishTaskInfo.getUnloadPrivate() + publishTaskInfo.getUnloadCity() + publishTaskInfo.getUnloadArea()
|
|
|
+ + publishTaskInfo.getUnloadDetailedAddress());
|
|
|
+ break;
|
|
|
+ case "fill_9_2":
|
|
|
+ form.setField(name, publishTaskInfo.getGoodsName());
|
|
|
+ break;
|
|
|
+ case "Text1":
|
|
|
+ form.setField(name, orderInfo.getFreightCars());
|
|
|
+ break;
|
|
|
+ case "Text2":
|
|
|
+ form.setField(name, orderInfo.getFreightCars());
|
|
|
+ break;
|
|
|
+ case "Text3":
|
|
|
+ form.setField(name, String.valueOf(orderInfo.getAdvanceCharge() == null ? 0 : orderInfo.getAdvanceCharge()));
|
|
|
+ break;
|
|
|
+ case "fill_6_2":
|
|
|
+ form.setField(name, hyDriverPayeeInfo.getBankCard());
|
|
|
+ break;
|
|
|
+ case "fill_1_3":
|
|
|
+ form.setField(name, hyDriverPayeeInfo.getBankDeposit());
|
|
|
+ break;
|
|
|
+ case "Text4":
|
|
|
+ form.setField(name, "甲方");
|
|
|
+ break;
|
|
|
+ case "Text5":
|
|
|
+ form.setField(name, "甲方");
|
|
|
+ break;
|
|
|
+ case "Text6":
|
|
|
Image image1 = Image.getInstance(new URL("https://taohaoliang.oss-cn-beijing.aliyuncs.com/app/gongzhang.png"));
|
|
|
image1.scaleToFit(signRect.getWidth(), signRect.getHeight());
|
|
|
image1.setAbsolutePosition(x, y);
|
|
|
under.addImage(image1);
|
|
|
break;
|
|
|
- case "Text7" :
|
|
|
- form.setField(name, "辽宁省营口市鲅鱼圈区青龙山大街8号");break;
|
|
|
- case "Text8" :
|
|
|
- form.setField(name, "4006688647");break;
|
|
|
- case "Text12" :
|
|
|
- form.setField(name, now.get(Calendar.YEAR)+"");break;
|
|
|
- case "Text13" :
|
|
|
- form.setField(name, now.get(Calendar.MONTH)+1+"");break;
|
|
|
- case "Text14" :
|
|
|
- form.setField(name, now.get(Calendar.DAY_OF_MONTH)+"");break;
|
|
|
- case "Text15" :
|
|
|
- if(orderInfo.getDriverAutograph() == null || orderInfo.getDriverAutograph().isEmpty()){
|
|
|
+ case "Text7":
|
|
|
+ form.setField(name, "辽宁省营口市鲅鱼圈区青龙山大街8号");
|
|
|
+ break;
|
|
|
+ case "Text8":
|
|
|
+ form.setField(name, "4006688647");
|
|
|
+ break;
|
|
|
+ case "Text12":
|
|
|
+ form.setField(name, now.get(Calendar.YEAR) + "");
|
|
|
+ break;
|
|
|
+ case "Text13":
|
|
|
+ form.setField(name, now.get(Calendar.MONTH) + 1 + "");
|
|
|
+ break;
|
|
|
+ case "Text14":
|
|
|
+ form.setField(name, now.get(Calendar.DAY_OF_MONTH) + "");
|
|
|
+ break;
|
|
|
+ case "Text15":
|
|
|
+ if (orderInfo.getDriverAutograph() == null || orderInfo.getDriverAutograph().isEmpty()) {
|
|
|
break;
|
|
|
}
|
|
|
Image image3 = Image.getInstance(new URL(orderInfo.getDriverAutograph()));
|
|
@@ -434,26 +531,36 @@ public class PdfUtil implements InitializingBean{
|
|
|
image3.setAbsolutePosition(x, y);
|
|
|
under.addImage(image3);
|
|
|
break;
|
|
|
- case "Text16" :
|
|
|
- form.setField(name, hyDriverInfo.getPostalAddress());break;
|
|
|
- case "Text17" :
|
|
|
- form.setField(name, orderInfo1.getDriverPhone());break;
|
|
|
- case "Text18" :
|
|
|
- form.setField(name, now.get(Calendar.YEAR)+"");break;
|
|
|
- case "Text19" :
|
|
|
- form.setField(name, now.get(Calendar.MONTH)+1+"");break;
|
|
|
- case "Text20" :
|
|
|
- form.setField(name, now.get(Calendar.DAY_OF_MONTH)+"");break;
|
|
|
- case "fill_1_4" :
|
|
|
- form.setField(name, "1");break;
|
|
|
- case "fill_2_3" :
|
|
|
- form.setField(name, orderInfo1.getDriverName());break;
|
|
|
- case "fill_3_3" :
|
|
|
- form.setField(name, hyDriverInfo.getDriverSex());break;
|
|
|
- case "fill_4_3" :
|
|
|
- form.setField(name, hyDriverInfo.getNumberCard());break;
|
|
|
- case "fill_5_3" :
|
|
|
- form.setField(name, hyDriverInfo.getQuasiDrivingVehicle());break;
|
|
|
+ case "Text16":
|
|
|
+ form.setField(name, hyDriverInfo.getPostalAddress());
|
|
|
+ break;
|
|
|
+ case "Text17":
|
|
|
+ form.setField(name, orderInfo1.getDriverPhone());
|
|
|
+ break;
|
|
|
+ case "Text18":
|
|
|
+ form.setField(name, now.get(Calendar.YEAR) + "");
|
|
|
+ break;
|
|
|
+ case "Text19":
|
|
|
+ form.setField(name, now.get(Calendar.MONTH) + 1 + "");
|
|
|
+ break;
|
|
|
+ case "Text20":
|
|
|
+ form.setField(name, now.get(Calendar.DAY_OF_MONTH) + "");
|
|
|
+ break;
|
|
|
+ case "fill_1_4":
|
|
|
+ form.setField(name, "1");
|
|
|
+ break;
|
|
|
+ case "fill_2_3":
|
|
|
+ form.setField(name, orderInfo1.getDriverName());
|
|
|
+ break;
|
|
|
+ case "fill_3_3":
|
|
|
+ form.setField(name, hyDriverInfo.getDriverSex());
|
|
|
+ break;
|
|
|
+ case "fill_4_3":
|
|
|
+ form.setField(name, hyDriverInfo.getNumberCard());
|
|
|
+ break;
|
|
|
+ case "fill_5_3":
|
|
|
+ form.setField(name, hyDriverInfo.getQuasiDrivingVehicle());
|
|
|
+ break;
|
|
|
|
|
|
}
|
|
|
//
|
|
@@ -490,12 +597,13 @@ public class PdfUtil implements InitializingBean{
|
|
|
|
|
|
FileInputStream fileInputStream = new FileInputStream(file1);
|
|
|
|
|
|
- MultipartFile multipartFile = new MockMultipartFile( ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
|
|
|
+ MultipartFile multipartFile = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
|
|
|
return this.upload(multipartFile);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 后台通过服务器间接传文件
|
|
|
+ *
|
|
|
* @param file
|
|
|
* @return
|
|
|
* @throws IOException
|
|
@@ -506,16 +614,18 @@ public class PdfUtil implements InitializingBean{
|
|
|
objectMetadata.setContentType(file.getContentType());
|
|
|
// String ext = FilenameUtils.getExtension(file.getOriginalFilename());
|
|
|
String uuid = GeneratorUtil.genFileName();
|
|
|
- PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, "contractPdf/" + uuid+".pdf", file.getInputStream(), objectMetadata);
|
|
|
+ PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, "contractPdf/" + uuid + ".pdf", file.getInputStream(), objectMetadata);
|
|
|
ossClient.putObject(putObjectRequest);
|
|
|
- return baseUrl + "contractPdf/" + uuid +".pdf";
|
|
|
+ return baseUrl + "contractPdf/" + uuid + ".pdf";
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 获取中文字体位置
|
|
|
+ *
|
|
|
* @return
|
|
|
- * @author xxj 2017年4月28日
|
|
|
+ * @author xxj 2017年4月28日
|
|
|
*/
|
|
|
- private String getChineseFont(){
|
|
|
+ private String getChineseFont() {
|
|
|
|
|
|
//宋体(对应css中的 属性 font-family: SimSun; /*宋体*/)
|
|
|
String font1 = "templates" + File.separator + "msyh.ttc";
|
|
@@ -524,11 +634,11 @@ public class PdfUtil implements InitializingBean{
|
|
|
Properties prop = System.getProperties();
|
|
|
String osName = prop.getProperty("os.name").toLowerCase();
|
|
|
System.out.println(osName);
|
|
|
- if (osName.indexOf("linux")>-1) {
|
|
|
- font1="/usr/share/fonts/chinese/simsun.ttc";
|
|
|
+ if (osName.indexOf("linux") > -1) {
|
|
|
+ font1 = "/usr/share/fonts/chinese/simsun.ttc";
|
|
|
}
|
|
|
- if(!new File(font1).exists()){
|
|
|
- throw new RuntimeException("字体文件不存在,影响导出pdf中文显示!"+font1);
|
|
|
+ if (!new File(font1).exists()) {
|
|
|
+ throw new RuntimeException("字体文件不存在,影响导出pdf中文显示!" + font1);
|
|
|
}
|
|
|
return font1;
|
|
|
}
|