Browse Source

出入账凭证合计价格计算

wenjinbiao 2 months ago
parent
commit
16781d0695

+ 14 - 1
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyfrontlinewarehouse/service/impl/QyFrontlineWarehouseServiceImpl.java

@@ -44,6 +44,7 @@ import vip.xiaonuo.dev.api.DevFileApi;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.List;
 import java.util.UUID;
@@ -226,6 +227,7 @@ public class QyFrontlineWarehouseServiceImpl extends ServiceImpl<QyFrontlineWare
         pdfPTable.addCell(remarkHead);
 
 
+        BigDecimal amount  =  BigDecimal.ZERO;
 
         for (int i = 1; i <= list.size(); i++) {
             QyFrontlineWarehouse item = list.get(i - 1);
@@ -244,8 +246,19 @@ public class QyFrontlineWarehouseServiceImpl extends ServiceImpl<QyFrontlineWare
             pdfPTable.addCell(accountNumberCell);
             pdfPTable.addCell(unitPriceCell);
             pdfPTable.addCell(remarkCell);
+
+            try {
+                //防止错填数据转换不成数字类型报错导致报错
+                amount = amount.add(new BigDecimal(item.getAccountNumber()).multiply(new BigDecimal(item.getUnitPrice())));
+
+            }catch (Exception e){
+
+            }
         }
-        PdfPCell amountCell = CommonPdfUtil.createCenterPdfPCell("合计",1, 2, CommonPdfUtil.NORMALFONT);
+
+        //计算合计
+
+        PdfPCell amountCell = CommonPdfUtil.createCenterPdfPCell("合计:"+amount.toPlainString(),1, 2, CommonPdfUtil.NORMALFONT);
         amountCell.setHorizontalAlignment(Element.ALIGN_LEFT);
         PdfPCell companyNameCell = CommonPdfUtil.createCenterPdfPCell("单位: " + qyFrontlineWarehouse.getCompanyName() ,1, 3, CommonPdfUtil.NORMALFONT);
         companyNameCell.setHorizontalAlignment(Element.ALIGN_LEFT);

+ 11 - 2
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/service/impl/QySecondlineWarehouseServiceImpl.java

@@ -47,6 +47,7 @@ import vip.xiaonuo.common.util.CommonPdfUtil;
 import vip.xiaonuo.dev.api.DevFileApi;
 
 import java.io.ByteArrayOutputStream;
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.List;
 
@@ -212,7 +213,7 @@ public class QySecondlineWarehouseServiceImpl extends ServiceImpl<QySecondlineWa
         pdfPTable.addCell(remarkHead);
 
 
-
+        BigDecimal amount = BigDecimal.ZERO;
         for (int i = 1; i <= list.size(); i++) {
             QySecondlineWarehouse item = list.get(i - 1);
             PdfPCell indexNoCell = CommonPdfUtil.createCenterPdfPCell(String.valueOf(i),1, 1, CommonPdfUtil.NORMALFONT);
@@ -230,8 +231,16 @@ public class QySecondlineWarehouseServiceImpl extends ServiceImpl<QySecondlineWa
             pdfPTable.addCell(accountNumberCell);
             pdfPTable.addCell(unitPriceCell);
             pdfPTable.addCell(remarkCell);
+
+            try {
+                //防止错填数据转换不成数字类型报错导致报错
+                amount = amount.add(new BigDecimal(item.getAccountNumber()).multiply(new BigDecimal(item.getUnitPrice())));
+
+            }catch (Exception e){
+
+            }
         }
-        PdfPCell amountCell = CommonPdfUtil.createCenterPdfPCell("合计",1, 2, CommonPdfUtil.NORMALFONT);
+        PdfPCell amountCell = CommonPdfUtil.createCenterPdfPCell("合计:"+amount.toPlainString(),1, 2, CommonPdfUtil.NORMALFONT);
         amountCell.setHorizontalAlignment(Element.ALIGN_LEFT);
         PdfPCell companyNameCell = CommonPdfUtil.createCenterPdfPCell("单位: " + qySecondlineWarehouse.getCompanyName() ,1, 3, CommonPdfUtil.NORMALFONT);
         companyNameCell.setHorizontalAlignment(Element.ALIGN_LEFT);