haungfuli 2 gadi atpakaļ
vecāks
revīzija
215b502225

+ 1 - 1
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/OrderInfoServiceImpl.java

@@ -1549,7 +1549,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         if (orderInfo.getTypeFlag().equals("1")) {
             //查询用户信息
             CommonUser commonUser = commonUserService.selectById(orderInfo1.getCargoCommonId());
-            String pdfUrl = pdfUtil.transactionContract(orderInfo1);
+            String pdfUrl = pdfUtil.transactionContract(orderInfo);
             //提交
             if ("2".equals(orderInfo.getSubmitFlag())) {
                 orderInfo1.setCargoOwnerContract("1");

+ 187 - 132
winsea-haixin-plugin-wangluohuoyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/PdfUtil.java

@@ -23,6 +23,7 @@ import java.io.*;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 @Component
@@ -37,6 +38,12 @@ public class PdfUtil implements InitializingBean {
     private IPublishTaskInfoService publishTaskInfoService;
     @Autowired
     private IDriverCarInfoService driverCarInfoService;
+    @Autowired
+    private ICompanyInfoService companyInfoService;
+    @Autowired
+    private ICarrierInfoService carrierInfoService;
+    @Autowired
+    private IFreightInfoService freightInfoService;
     @Value("${oss.endpoint.default}")
     private String endpoint;
     @Value("${oss.bucket.name}")
@@ -338,23 +345,104 @@ public class PdfUtil implements InitializingBean {
         return this.upload(multipartFile);
     }
 
+    /***
+     * 货主签合同
+     * @param orderInfo
+     * @return
+     * @throws IOException
+     * @throws DocumentException
+     * @throws URISyntaxException
+     */
     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"));
-        HyDriverPayeeInfo hyDriverPayeeInfo = driverPayeeInfoService.selectOne(new EntityWrapper<HyDriverPayeeInfo>().eq("driver_id", hyDriverInfo.getId())
+        //托运人
+        String shipper = "";
+        if ("个人货主".equals(orderInfo1.getCompName())){
+            shipper=orderInfo1.getCargoOwner();
+        }else {
+            shipper=orderInfo1.getCompName();
+        }
+        //企业联系人
+        String contacts = "";
+        if (!"个人货主".equals(orderInfo1.getCompName())){
+            contacts=orderInfo1.getCargoOwner();
+        }
+        //公司地址
+        String conmanyAddress = "";
+        //查询公司信息
+        if (orderInfo1.getCompId() != null && !orderInfo1.getCompId().isEmpty()){
+            HyCompanyInfo hyCompanyInfo = companyInfoService.selectById(orderInfo1.getCompId());
+            conmanyAddress = hyCompanyInfo.getMailingAddress();
+        }
+        //查询承运信息
+        HyCarrierInfo hyCarrierInfo = carrierInfoService.selectOne(new EntityWrapper<HyCarrierInfo>().eq("order_id", orderInfo1.getId())
                 .eq("delete_flag", "0"));
         //任务信息
         PublishTaskInfo publishTaskInfo = publishTaskInfoService.selectOne(new EntityWrapper<PublishTaskInfo>().eq("id", orderInfo1.getTaskId())
                 .eq("delete_flag", "0"));
+        //车长车型要求
+        String requirement = "";
+        if ((publishTaskInfo.getCarLengthSmall() == null || publishTaskInfo.getCarLengthSmall().isEmpty()) && (publishTaskInfo.getCarLength() == null || publishTaskInfo.getCarLength().isEmpty())){
+            //车长不限
+            if ("1".equals(publishTaskInfo.getCarModel())){
+                //车型不限
+                requirement = "车长不限,车型不限";
+            }else {
+                if ("2".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长不限,车型要求高栏";
+                }else if ("3".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长不限,车型要求集装箱";
+                }
+                else if ("4".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长不限,车型要求自卸车";
+                }
+                else if ("2".contains(publishTaskInfo.getCarModel()) && "3".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长不限,车型要求高栏、集装箱";
+                }
+                else if ("2".contains(publishTaskInfo.getCarModel()) && "4".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长不限,车型要求高栏、自卸车";
+                }
+                else if ("3".contains(publishTaskInfo.getCarModel()) && "4".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长不限,车型要求集装箱、自卸车";
+                }
+                else if ("2".contains(publishTaskInfo.getCarModel()) && "3".contains(publishTaskInfo.getCarModel()) && "4".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长不限,车型要求高栏、集装箱、自卸车";
+                }
+            }
+        }else {
+            if ("1".equals(publishTaskInfo.getCarModel())){
+                //车型不限
+                requirement = "车长要求" + publishTaskInfo.getCarLengthSmall() + "-" + publishTaskInfo.getCarLength() + "米" + ",车型不限";
+            }else {
+                if ("2".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长要求" + publishTaskInfo.getCarLengthSmall() + "-" + publishTaskInfo.getCarLength() + "米" + ",车型要求高栏";
+                }else if ("3".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长要求" + publishTaskInfo.getCarLengthSmall() + "-" + publishTaskInfo.getCarLength() + "米" + ",车型要求集装箱";
+                }
+                else if ("4".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长要求" + publishTaskInfo.getCarLengthSmall() + "-" + publishTaskInfo.getCarLength() + "米" + ",车型要求自卸车";
+                }
+                else if ("2".contains(publishTaskInfo.getCarModel()) && "3".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长要求" + publishTaskInfo.getCarLengthSmall() + "-" + publishTaskInfo.getCarLength() + "米" + ",车型要求高栏、集装箱";
+                }
+                else if ("2".contains(publishTaskInfo.getCarModel()) && "4".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长要求" + publishTaskInfo.getCarLengthSmall() + "-" + publishTaskInfo.getCarLength() + "米" + ",车型要求高栏、自卸车";
+                }
+                else if ("3".contains(publishTaskInfo.getCarModel()) && "4".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长要求" + publishTaskInfo.getCarLengthSmall() + "-" + publishTaskInfo.getCarLength() + "米" + ",车型要求集装箱、自卸车";
+                }
+                else if ("2".contains(publishTaskInfo.getCarModel()) && "3".contains(publishTaskInfo.getCarModel()) && "4".contains(publishTaskInfo.getCarModel())){
+                    requirement = "车长要求" + publishTaskInfo.getCarLengthSmall() + "-" + publishTaskInfo.getCarLength() + "米" + ",车型要求高栏、集装箱、自卸车";
+                }
+            }
+        }
 
 
         //模板路径
-        String pdfTmp = "templates" + File.separator + "Contract.pdf";
+        String pdfTmp = "templates" + File.separator + "hzContract.pdf";
         //生成的新文件路径
-        String newPDFPath = "templates" + File.separator + "Contract1.pdf";
+        String newPDFPath = "templates" + File.separator + "hzContract1.pdf";
         PdfReader reader;
         FileOutputStream out;
         ByteArrayOutputStream bos;
@@ -378,12 +466,22 @@ public class PdfUtil implements InitializingBean {
         stamper = new PdfStamper(reader, bos);
         AcroFields form = stamper.getAcroFields();
         Iterator<String> it = form.getFields().keySet().iterator();
+        //获取当前年月日
+        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
+        //装货时间
         Calendar start = Calendar.getInstance();
-        start.setTime(orderInfo1.getCreateDate());
+        start.setTime(hyCarrierInfo.getLoadingDate());
+        String sdate = f.format(start.getTime());
+        //卸货时间
+        int min = (int)(hyCarrierInfo.getTransportationDuration() * 60);
         Calendar end = Calendar.getInstance();
-        end.setTime(orderInfo1.getCreateDate());
+        end.setTime(hyCarrierInfo.getLoadingDate());
+        end.add(Calendar.MINUTE, min);
+        String edate = f.format(end.getTime());
+        //当前时间
         Calendar now = Calendar.getInstance();
         now.setTime(new Date());
+        String ndate = f.format(now.getTime());
         float fontSize = 12f;
         String font_cn = getChineseFont();
         BaseFont bf = BaseFont.createFont(font_cn + ",0",
@@ -404,162 +502,76 @@ public class PdfUtil implements InitializingBean {
             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());
+                    form.setField(name, orderInfo1.getOrderNo());
                     break;
                 case "Text2":
-                    form.setField(name, orderInfo.getFreightCars());
+                    form.setField(name, shipper);
                     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());
+                    form.setField(name, conmanyAddress);
                     break;
                 case "Text4":
-                    form.setField(name, "甲方");
-                    break;
-                case "Text5":
-                    form.setField(name, "甲方");
+                    form.setField(name, contacts);
                     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);
+                    form.setField(name, "黑龙江畅运通物流供应链有限公司");
                     break;
                 case "Text7":
-                    form.setField(name, "辽宁省营口市鲅鱼圈区青龙山大街8号");
+                    form.setField(name, orderInfo1.getGoodsName());
                     break;
                 case "Text8":
-                    form.setField(name, "4006688647");
+                    form.setField(name, String.valueOf(hyCarrierInfo.getLoadingWeight())+"吨");
+                    break;
+                case "Text9":
+                    form.setField(name, requirement);
+                    break;
+                case "Text10":
+                    form.setField(name, sdate);
+                    break;
+                case "Text11":
+                    form.setField(name, edate);
                     break;
                 case "Text12":
-                    form.setField(name, now.get(Calendar.YEAR) + "");
+                    form.setField(name, orderInfo1.getSendPrivate() + orderInfo1.getSendCity() + orderInfo1.getSendArea()
+                            + orderInfo1.getSendDetailedAddress());
                     break;
                 case "Text13":
-                    form.setField(name, now.get(Calendar.MONTH) + 1 + "");
+                    form.setField(name, orderInfo1.getUnloadPrivate() + orderInfo1.getUnloadCity() + orderInfo1.getUnloadArea()
+                            + orderInfo1.getUnloadDetailedAddress());
                     break;
                 case "Text14":
-                    form.setField(name, now.get(Calendar.DAY_OF_MONTH) + "");
+                    form.setField(name, String.valueOf(orderInfo1.getAdvanceCharge()));
                     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);
+                    form.setField(name, String.valueOf(orderInfo1.getFreight()));
                     break;
                 case "Text16":
-                    form.setField(name, hyDriverInfo.getPostalAddress());
+                    form.setField(name, "0");
                     break;
                 case "Text17":
-                    form.setField(name, orderInfo1.getDriverPhone());
+                    form.setField(name, "畅运通货主端平台");
                     break;
                 case "Text18":
-                    form.setField(name, now.get(Calendar.YEAR) + "");
+                    form.setField(name, "");
                     break;
                 case "Text19":
-                    form.setField(name, now.get(Calendar.MONTH) + 1 + "");
+                    if (orderInfo.getCargoOwnerAutograph() == null || orderInfo.getCargoOwnerAutograph().isEmpty()) {
+                        break;
+                    }
+                    Image image3 = Image.getInstance(new URL(orderInfo.getCargoOwnerAutograph()));
+                    image3.scaleToFit(signRect.getWidth(), signRect.getHeight());
+                    image3.setAbsolutePosition(x, y);
+                    under.addImage(image3);
                     break;
                 case "Text20":
-                    form.setField(name, now.get(Calendar.DAY_OF_MONTH) + "");
+                    form.setField(name, ndate);
                     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());
+                case "Text21":
+                    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;
 
             }
@@ -585,6 +597,35 @@ public class PdfUtil implements InitializingBean {
                 new PdfReader(bos.toByteArray()), 6);
         PdfImportedPage importPage6 = copy.getImportedPage(
                 new PdfReader(bos.toByteArray()), 7);
+        PdfImportedPage importPage7 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 8);
+        PdfImportedPage importPage8 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 9);
+        PdfImportedPage importPage9 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 10);
+        PdfImportedPage importPage10 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 11);
+        PdfImportedPage importPage11 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 12);
+        PdfImportedPage importPage12 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 13);
+        PdfImportedPage importPage13 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 14);
+        PdfImportedPage importPage14 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 15);
+        PdfImportedPage importPage15 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 16);
+        PdfImportedPage importPage16 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 17);
+        PdfImportedPage importPage17 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 18);
+        PdfImportedPage importPage18 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 19);
+        PdfImportedPage importPage19 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 20);
+        PdfImportedPage importPage20 = copy.getImportedPage(
+                new PdfReader(bos.toByteArray()), 21);
+
         copy.addPage(importPage);
         copy.addPage(importPage1);
         copy.addPage(importPage2);
@@ -592,6 +633,20 @@ public class PdfUtil implements InitializingBean {
         copy.addPage(importPage4);
         copy.addPage(importPage5);
         copy.addPage(importPage6);
+        copy.addPage(importPage7);
+        copy.addPage(importPage8);
+        copy.addPage(importPage9);
+        copy.addPage(importPage10);
+        copy.addPage(importPage11);
+        copy.addPage(importPage12);
+        copy.addPage(importPage13);
+        copy.addPage(importPage14);
+        copy.addPage(importPage15);
+        copy.addPage(importPage16);
+        copy.addPage(importPage17);
+        copy.addPage(importPage18);
+        copy.addPage(importPage19);
+        copy.addPage(importPage20);
         doc.close();
         reader.close();