Browse Source

修改订单明细tms-对应的E签宝签收文件,PDF修改

qxm 4 năm trước cách đây
mục cha
commit
a3d2da8c8c

+ 10 - 6
suishenbang-wxportal/suishenbang-wxportal-api/src/main/java/com/dgtly/wxportal/controller/EsignController.java

@@ -73,6 +73,8 @@ public class EsignController extends ApiBaseController {
      */
     @ApiOperation(value = "订单签收", notes = "参数:{'orderId':'xxx','userId':'xxx','deliveryNumber':'xxx','shipmentNumber':'xxx','belongTo':'xxx','redirectUrl':'xxx','wareHouseCode':'xxx','wareHouseName':'xxx'}" +
             "\n(orderId:订单编号" +
+            "\n(tmsShipNumber:运单号" +
+            "\n(customerCode:经销商编号" +
             "\n(deliveryNumber:交货单号" +
             "\n(shipmentNumber:运单号" +
             "\n(belongTo:经销商代号" +
@@ -87,12 +89,14 @@ public class EsignController extends ApiBaseController {
     public Object dealerSign() {
 
         ParameterObject obj = getParameterObject();
-        obj.checkParameterNotNull("orderId,userId,deliveryNumber,shipmentNumber,belongTo,redirectUrl");
+        obj.checkParameterNotNull("orderId,userId,deliveryNumber,tmsShipmentNumber,customerCode,redirectUrl");
         String orderId = obj.getString("orderId");
+        String tmsShipNumber = obj.getString("tmsShipmentNumber");
+        String customerCode = obj.getString("customerCode");
         String userId = obj.getString("userId");
         String deliveryNumber = obj.getString("deliveryNumber");
-        String shipmentNumber = obj.getString("shipmentNumber");
-        String belongTo = obj.getString("belongTo");
+//        String shipmentNumber = obj.getString("shipmentNumber");
+//        String belongTo = obj.getString("belongTo");
         String wareHouseCode = obj.getString("wareHouseCode");
         String wareHouseName = obj.getString("wareHouseName");
         String redirectUrl = obj.getString("redirectUrl");
@@ -114,7 +118,7 @@ public class EsignController extends ApiBaseController {
 //        String chainsCode = customersExtService.selectChainsCodeByOrderId(orderId);
             /*首先根据订单id-orderId查询订单是否已被签署*/
 //        OrderFile orderFlag = orderFileService.selectOrderFileById(orderId);
-            ESignUpPDFModal fileModal = eSignService.upload(deliveryNumber,shipmentNumber,belongTo,sysUser.getSysUserExt().getOrgName(),sysUser.getUserName());
+            ESignUpPDFModal fileModal = eSignService.upload(orderId,tmsShipNumber,customerCode,sysUser.getSysUserExt().getOrgName(),sysUser.getUserName());
             /*1、根据传入订单id,查询订单相关信息生成PDF,调用e签宝上传方法返回文件fileId*/
             Object fileId =fileModal.getFileId();
             /*2、调用E签宝接口一步发起流程,得到返回的流程id*/
@@ -125,10 +129,10 @@ public class EsignController extends ApiBaseController {
             OrderFile orderFile = new OrderFile();
             orderFile.setOrderId(orderId);
             orderFile.setDeliveryNumber(deliveryNumber);
-            orderFile.setShipmentNumber(shipmentNumber);
+            orderFile.setShipmentNumber(tmsShipNumber);
             orderFile.setWareHouseCode(wareHouseCode);
             orderFile.setWareHouseName(wareHouseName);
-            orderFile.setChainsCode(belongTo);
+            orderFile.setChainsCode(customerCode);
             orderFile.setCustomersCode(authorizedAccountId);
             orderFile.setSignerId(signerAccountId);
             orderFile.setSignerName(sysUser.getUserName());

+ 58 - 0
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/domain/ConfirmCollectQueryDeliverLineModel.java

@@ -0,0 +1,58 @@
+package com.dgtly.wxportal.domain;
+
+import com.dgtly.wxportal.config.JsonBigDecimalSerializer;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author: csz
+ * @Date: 2021/3/8 13:41
+ */
+public class ConfirmCollectQueryDeliverLineModel implements Serializable {
+
+    //  物料名称
+    private String materialName;
+    //    规格
+    private String sizeDim;
+    //  数量
+    @JsonSerialize(using = JsonBigDecimalSerializer.class)
+    private BigDecimal deliveryCount = new BigDecimal(0);
+    //    确认到货数量
+    @JsonSerialize(using = JsonBigDecimalSerializer.class)
+    private BigDecimal confirmQuantity = new BigDecimal(0);
+
+    public String getMaterialName() {
+        return materialName;
+    }
+
+    public void setMaterialName(String materialName) {
+        this.materialName = materialName;
+    }
+
+    public String getSizeDim() {
+        return sizeDim;
+    }
+
+    public void setSizeDim(String sizeDim) {
+        this.sizeDim = sizeDim;
+    }
+
+    public BigDecimal getDeliveryCount() {
+        return deliveryCount;
+    }
+
+    public void setDeliveryCount(BigDecimal deliveryCount) {
+        this.deliveryCount = deliveryCount;
+    }
+
+    public BigDecimal getConfirmQuantity() {
+        return confirmQuantity;
+    }
+
+    public void setConfirmQuantity(BigDecimal confirmQuantity) {
+        this.confirmQuantity = confirmQuantity;
+    }
+}

+ 54 - 0
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/domain/ConfirmCollectQueryDeliverModel.java

@@ -0,0 +1,54 @@
+package com.dgtly.wxportal.domain;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author: csz
+ * @Date: 2021/3/8 13:41
+ */
+
+public class ConfirmCollectQueryDeliverModel implements Serializable {
+
+    /**
+     * 交货单号
+     */
+    private String deliverNumber;
+
+    /**
+     * 交货单统计
+     */
+    private String detail;
+
+    /**
+     * 交货单行明细
+     */
+    private List<ConfirmCollectQueryDeliverLineModel> confirmCollectQueryDeliverLineModels = new ArrayList<>();
+
+    public String getDeliverNumber() {
+        return deliverNumber;
+    }
+
+    public void setDeliverNumber(String deliverNumber) {
+        this.deliverNumber = deliverNumber;
+    }
+
+    public String getDetail() {
+        return detail;
+    }
+
+    public void setDetail(String detail) {
+        this.detail = detail;
+    }
+
+    public List<ConfirmCollectQueryDeliverLineModel> getConfirmCollectQueryDeliverLineModels() {
+        return confirmCollectQueryDeliverLineModels;
+    }
+
+    public void setConfirmCollectQueryDeliverLineModels(List<ConfirmCollectQueryDeliverLineModel> confirmCollectQueryDeliverLineModels) {
+        this.confirmCollectQueryDeliverLineModels = confirmCollectQueryDeliverLineModels;
+    }
+}

+ 23 - 3
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/domain/EReceivingNote.java

@@ -33,10 +33,14 @@ public class EReceivingNote extends BaseEntity {
     private String shipToAddress;
     //    重量
     private String weight = "0";
-    //    本交货单行明细
+    /*//    本交货单行明细
     private List<ConfirmCollectLineDetailModel> deliveryLineDetail = new ArrayList<>();
     //    其他交货单数据
-    private List<ConfirmCollectOtherDeliveryModel> otherDeliveryModels = new ArrayList<>();
+    private List<ConfirmCollectOtherDeliveryModel> otherDeliveryModels = new ArrayList<>();*/
+    //    本交货单行明细
+    private List<ConfirmCollectQueryDeliverModel> ownConfirmCollectQueryDeliverModels = new ArrayList<>();
+    //    其他交货单数据
+    private List<ConfirmCollectQueryDeliverModel> otherConfirmCollectQueryDeliverModels = new ArrayList<>();
     //经销商代号
     private String belongTo;
     //  经销商名称
@@ -92,7 +96,7 @@ public class EReceivingNote extends BaseEntity {
         this.weight = weight;
     }
 
-    public List<ConfirmCollectLineDetailModel> getDeliveryLineDetail() {
+    /*public List<ConfirmCollectLineDetailModel> getDeliveryLineDetail() {
         return deliveryLineDetail;
     }
 
@@ -106,6 +110,22 @@ public class EReceivingNote extends BaseEntity {
 
     public void setOtherDeliveryModels(List<ConfirmCollectOtherDeliveryModel> otherDeliveryModels) {
         this.otherDeliveryModels = otherDeliveryModels;
+    }*/
+
+    public List<ConfirmCollectQueryDeliverModel> getOwnConfirmCollectQueryDeliverModels() {
+        return ownConfirmCollectQueryDeliverModels;
+    }
+
+    public void setOwnConfirmCollectQueryDeliverModels(List<ConfirmCollectQueryDeliverModel> ownConfirmCollectQueryDeliverModels) {
+        this.ownConfirmCollectQueryDeliverModels = ownConfirmCollectQueryDeliverModels;
+    }
+
+    public List<ConfirmCollectQueryDeliverModel> getOtherConfirmCollectQueryDeliverModels() {
+        return otherConfirmCollectQueryDeliverModels;
+    }
+
+    public void setOtherConfirmCollectQueryDeliverModels(List<ConfirmCollectQueryDeliverModel> otherConfirmCollectQueryDeliverModels) {
+        this.otherConfirmCollectQueryDeliverModels = otherConfirmCollectQueryDeliverModels;
     }
 
     public String getBelongTo() {

+ 1 - 1
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/service/ESignService.java

@@ -25,7 +25,7 @@ public interface ESignService {
    * @param customerName 经销商名和曾
    * @return
    */
-  ESignUpPDFModal upload(String deliveryNumber, String shipmentNumber, String belongTo, String customerName,String userName);
+  ESignUpPDFModal upload(String orderId,String tmsShipNumber,String customerCode, String customerName,String userName);
 
 
      String verificationUser();

+ 1 - 2
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/service/IEReceivingNoteService.java

@@ -24,8 +24,7 @@ public interface IEReceivingNoteService {
      * @param customerName  经销商名称
      * @return
      */
-    EReceivingNote selectEReceivingNote(String deliveryNumber,String shipmentNumber,String belongTo
-            ,String customerName,String userName);
+    EReceivingNote selectEReceivingNote(String orderId,String tmsShipNumber,String customerCode,String customerName,String userName);
 
 
 }

+ 7 - 4
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/service/impl/EReceivingNoteServiceImpl.java

@@ -36,15 +36,16 @@ public class EReceivingNoteServiceImpl implements IEReceivingNoteService {
 
 
     //确认收货接口
-    private String confirmUrl="order/order/deliver-quantity-confirm/confirmCollectQuery";
+//    private String confirmUrl="order/order/deliver-quantity-confirm/confirmCollectQuery";
+    private String confirmUrl="order//order/tms-logistics-status/tmsShipNumberConfirmCollectQuery";
 
 
     @Override
-    public EReceivingNote selectEReceivingNote(String deliveryNumber,String shipmentNumber,String belongTo
+    public EReceivingNote selectEReceivingNote(String orderId,String tmsShipNumber,String customerCode
                                                                  ,String customerName,String userName) {
         String url = cloudPath +confirmUrl;
-        String queryStr = "?deliveryNumber=%s&shipmentNumber=%s&belongTo=%s";
-        queryStr = new Formatter().format(queryStr,deliveryNumber,shipmentNumber,belongTo).toString();
+        String queryStr = "?tmsShipNumber=%s&orderNumber=%s&customerCode=%s";
+        queryStr = new Formatter().format(queryStr,tmsShipNumber,orderId,customerCode).toString();
         url = url+queryStr;
         String str= "";
         EReceivingNote receivingNote ;
@@ -57,6 +58,8 @@ public class EReceivingNoteServiceImpl implements IEReceivingNoteService {
                  receivingNote = json.getObject("data",EReceivingNote.class);
                 receivingNote.setCustomerName(customerName);
                 receivingNote.setAgent(userName);
+                receivingNote.setOrderNumber(orderId);
+                receivingNote.setShipmentNumber(tmsShipNumber);
             }else{
                 throw new BaseException("order",json.getString("message"));
             }

+ 2 - 2
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/service/impl/ESignServiceImpl.java

@@ -57,9 +57,9 @@ public class ESignServiceImpl implements ESignService {
     private IEReceivingNoteService iMetaHanaSalesOrderService;
 
     @Override
-    public ESignUpPDFModal upload(String deliveryNumber,String shipmentNumber,String belongTo,String customerName,String userName) {
+    public ESignUpPDFModal upload(String orderId,String tmsShipNumber,String customerCode,String customerName,String userName) {
 
-        EReceivingNote receivingNote = iMetaHanaSalesOrderService.selectEReceivingNote(deliveryNumber,shipmentNumber,belongTo,customerName,userName);
+        EReceivingNote receivingNote = iMetaHanaSalesOrderService.selectEReceivingNote(orderId,tmsShipNumber,customerCode,customerName,userName);
         Map<String,Object> map = new HashMap<>();
         //创建PDF
         ESignUpPDFModal fileModal = creatPdf(receivingNote);

+ 32 - 21
suishenbang-wxportal/suishenbang-wxportal-common/src/main/java/com/dgtly/wxportal/utils/pdf/PDFUtil.java

@@ -1,8 +1,6 @@
 package com.dgtly.wxportal.utils.pdf;
 
-import com.dgtly.wxportal.domain.ConfirmCollectLineDetailModel;
-import com.dgtly.wxportal.domain.ConfirmCollectOtherDeliveryModel;
-import com.dgtly.wxportal.domain.EReceivingNote;
+import com.dgtly.wxportal.domain.*;
 import com.itextpdf.text.*;
 import com.itextpdf.text.pdf.*;
 import com.itextpdf.text.pdf.draw.DottedLineSeparator;
@@ -192,7 +190,7 @@ public class PDFUtil {
 
 
                 // 4.向文档中添加内容
-                //PDFUtil.generateEPDF(document,"XXX公司",null,null);
+//                PDFUtil.generateEPDF(document,"XXX公司",null,null);
 
                 // 5.关闭文档
                 document.close();
@@ -255,9 +253,9 @@ public class PDFUtil {
         document.add(p1);
         PdfPTable table1 = createTable(new float[] { 240, 100});
         table1.addCell(createCell("客户名称: " +receivingNote.getCustomerName(), headfont, Element.ALIGN_LEFT, 1, false));
-        table1.addCell(createCell("运单号: " +receivingNote.getShipmentNumber(), headfont, Element.ALIGN_LEFT, 1, false));
-        table1.addCell(createCell("收货地址: " +receivingNote.getShipToAddress(), headfont, Element.ALIGN_LEFT, 1, false));
-        table1.addCell(createCell("经办人: " +receivingNote.getAgent(), headfont, Element.ALIGN_LEFT, 1, false));
+        table1.addCell(createCell("TMS运单号: " +receivingNote.getShipmentNumber(), headfont, Element.ALIGN_LEFT, 1, false));
+//        table1.addCell(createCell("收货地址: " +receivingNote.getShipToAddress(), headfont, Element.ALIGN_LEFT, 1, false));
+        table1.addCell(createCell("经办人: " +receivingNote.getAgent(), headfont, Element.ALIGN_RIGHT, 2, false));
         document.add(table1);
 //        Paragraph paragraph1 = new Paragraph("客户名称: " +receivingNote.getCustomerName() +"                           " +
 //        "                                                     运单号: " +receivingNote.getShipmentNumber(), namefont);
@@ -301,35 +299,48 @@ public class PDFUtil {
         //document.add(image);
         int size = 0;
         // 表格
-        PdfPTable table = createTable(new float[] { 180, 80, 80});
+        PdfPTable table = createTable(new float[] { 160, 60, 60,60});
         table.addCell(createCell("物品明细", headfont, Element.ALIGN_CENTER, 8, false));
-        table.addCell(createCell("料名称", keyfont, Element.ALIGN_CENTER));
+        table.addCell(createCell("料名称", keyfont, Element.ALIGN_CENTER));
         table.addCell(createCell("规格", keyfont, Element.ALIGN_CENTER));
-        table.addCell(createCell("确认收货数量", keyfont, Element.ALIGN_CENTER));
-//        table.addCell(createCell("到货数量", keyfont, Element.ALIGN_CENTER));
-        table.addCell(createCell("订单号: "+receivingNote.getOrderNumber()+"  交货单号:  " + receivingNote.getDeliveryNumber() + "   重量:" + receivingNote.getWeight(), keyfont, Element.ALIGN_LEFT, 4));
+        table.addCell(createCell("数量", keyfont, Element.ALIGN_CENTER));
+        table.addCell(createCell("确认到货数量", keyfont, Element.ALIGN_CENTER));
+//        table.addCell(createCell("订单号: "+receivingNote.getOrderNumber()+"  交货单号:  " + receivingNote.getDeliveryNumber() + "   交货单统计:" + receivingNote.getWeight(), keyfont, Element.ALIGN_LEFT, 4));
 //        table.addCell(createCell("未交货数量", keyfont, Element.ALIGN_CENTER));
 //        table.addCell(createCell("发货数量", keyfont, Element.ALIGN_CENTER));
 //        table.addCell(createCell("已收货数量", keyfont, Element.ALIGN_CENTER));
 
-            for (ConfirmCollectLineDetailModel line : receivingNote.getDeliveryLineDetail()) {
-                table.addCell(createCell(line.getMaterialName(), textfont));
-                table.addCell(createCell(line.getSizeDim(), textfont));
-                table.addCell(createCell(line.getConfirmQuantity(), textfont));
-//                table.addCell(createCell(line.getDeliveryCount(), textfont));
-                size += line.getMaterialName().length() / 21 + 1;
+            for (ConfirmCollectQueryDeliverModel dd : receivingNote.getOwnConfirmCollectQueryDeliverModels()) {
+                table.addCell(createCell("交货单号: "+dd.getDeliverNumber()+"   交货单统计:" + dd.getDetail(), keyfont, Element.ALIGN_LEFT, 4));
+                for (ConfirmCollectQueryDeliverLineModel line: dd.getConfirmCollectQueryDeliverLineModels()) {
+                    table.addCell(createCell(line.getMaterialName(), textfont));
+                    table.addCell(createCell(line.getSizeDim(), textfont));
+                    table.addCell(createCell(line.getDeliveryCount().toString(), textfont));
+                    table.addCell(createCell(line.getConfirmQuantity().toString(), textfont));
+                    size += line.getMaterialName().length() / 21 + 1;
+                }
+            }
+            for (ConfirmCollectQueryDeliverModel od : receivingNote.getOtherConfirmCollectQueryDeliverModels()) {
+                table.addCell(createCell("交货单号: "+od.getDeliverNumber()+"   交货单统计:" + od.getDetail(), keyfont, Element.ALIGN_LEFT, 4));
+                for (ConfirmCollectQueryDeliverLineModel line: od.getConfirmCollectQueryDeliverLineModels()) {
+                    table.addCell(createCell(line.getMaterialName(), textfont));
+                    table.addCell(createCell(line.getSizeDim(), textfont));
+                    table.addCell(createCell(line.getDeliveryCount().toString(), textfont));
+                    table.addCell(createCell(line.getConfirmQuantity().toString(), textfont));
+                    size += line.getMaterialName().length() / 21 + 1;
+                }
 
             }
-            for (ConfirmCollectOtherDeliveryModel otherLine : receivingNote.getOtherDeliveryModels()) {
+            /*for (ConfirmCollectQueryDeliverModel otherLine : receivingNote.getOtherDeliveryModels()) {
                 table.addCell(createCell("订单号: "+receivingNote.getOrderNumber()+"  交货单号:  " + otherLine.getDeliveryNumber() + "   重量:" + otherLine.getWeight(), keyfont, Element.ALIGN_LEFT, 4));
-                for (ConfirmCollectLineDetailModel line : otherLine.getDeliveryLineDetail()) {
+                for (ConfirmCollectQueryDeliverLineModel line : otherLine.confirmCollectQueryDeliverLineModels()) {
                     table.addCell(createCell(line.getMaterialName(), textfont));
                     table.addCell(createCell(line.getSizeDim(), textfont));
                     table.addCell(createCell(line.getConfirmQuantity(), textfont));
 //                    table.addCell(createCell(line.getDeliveryCount(), textfont));
                     size += line.getMaterialName().length() / 21 + 1;
                 }
-            }
+            }*/
 
         document.add(table);