Parcourir la source

呵呵商城改版part9

Aslee il y a 3 ans
Parent
commit
0c45fd5a81

+ 3 - 2
src/main/java/com/caimei/modules/archive/service/CmOrderArchiveService.java

@@ -51,16 +51,17 @@ public class CmOrderArchiveService extends CrudService<CmOrderArchiveDao, CmOrde
 
 	@Transactional(readOnly = false)
 	public void saveArchive(CmOrderArchive cmOrderArchive) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
+        String date = format.format(new Date());
         if (cmOrderArchive.getIsNewRecord()) {
             cmOrderArchive.setAddTime(new Date());
         } else {
             CmOrderArchive dbOrderArchive = get(cmOrderArchive.getId());
             if (!cmOrderArchive.getShopOrderId().equals(dbOrderArchive.getShopOrderId()) ) {
                 cmOrderArchive.setUpdateShopOrderIdFlag(1);
+                date = format.format(cmOrderArchive.getAddTime());
             }
         }
-        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
-        String date = format.format(new Date());
         String orderArchiveNo = "CM-" + date + cmOrderArchive.getShopOrderId();
         cmOrderArchive.setArchiveNo(orderArchiveNo);
 		super.save(cmOrderArchive);

+ 34 - 10
src/main/java/com/caimei/modules/hehe/service/HeHeNewOrderService.java

@@ -13,6 +13,7 @@ import com.caimei.modules.user.dao.CmUserDao;
 import com.caimei.modules.user.entity.CmUser;
 import com.caimei.utils.AppKeys;
 import com.caimei.utils.AppUtils;
+import com.caimei.utils.MathUtil;
 import com.caimei.utils.SysConfig;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.service.CrudService;
@@ -27,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.io.OutputStream;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -320,6 +322,8 @@ public class HeHeNewOrderService extends CrudService<HeHeNewOrderDao, NewOrder>
                 productTopRowCell.setCellValue(columnText);
                 productTopRowCell.setCellStyle(topCellStyle);
             }
+            // 合计
+            BigDecimal totalAmount = BigDecimal.ZERO;
             int productRowNum = 1;
             for (NewOrder order : orderList) {
                 List<NewOrderProduct> orderProducts = order.getNewOrderProducts();
@@ -328,31 +332,39 @@ public class HeHeNewOrderService extends CrudService<HeHeNewOrderDao, NewOrder>
                     // 订单下商品数量+1
                     NewOrderProduct product = orderProducts.get(i);
                     // 组装商品数据
-                    List<String> productData = new ArrayList<>();
-                    productData.add(order.getOrderID().toString());
+                    List<Object> productData = new ArrayList<>();
+                    productData.add(order.getOrderID());
                     productData.add(order.getOrderTime());
                     productData.add(product.getOrderNo());
                     productData.add(product.getName());
                     productData.add(product.getProductUnit());
-                    productData.add(product.getDiscountPrice().toString());
+                    productData.add(product.getDiscountPrice());
                     productData.add(order.getReceiver());
-                    productData.add(product.getNum().toString());
-                    productData.add(product.getTotalAmount().toString());
+                    productData.add(product.getNum());
+                    productData.add(product.getTotalFee());
+                    totalAmount = MathUtil.add(totalAmount, product.getTotalFee());
                     // 创建商品行
                     HSSFRow productRow = productSheet.createRow(productRowNum);
+                    // 设置行高度
+                    productRow.setHeight((short) 1000);
                     if (i == 0) {
                         // 订单的第一个商品行存入公用单元格数据
                         for (int j = 0; j < 3; j++) {
                             HSSFCell productCell = productRow.createCell(j);
                             productCell.setCellType(CellType.valueOf("STRING"));
-                            productCell.setCellValue(productData.get(j));
+                            productCell.setCellValue(productData.get(j).toString());
                             productCell.setCellStyle(customCellStyle);
                         }
                     }
                     for (int j = 3; j < 9; j++) {
                         HSSFCell productCell = productRow.createCell(j);
-                        productCell.setCellType(CellType.valueOf("STRING"));
-                        productCell.setCellValue(productData.get(j));
+                        if (j == 5 ||  j == 8) {
+                            productCell.setCellValue((Double) productData.get(j));
+                        } else if (j == 7) {
+                            productCell.setCellValue((Integer)productData.get(j));
+                        } else {
+                            productCell.setCellValue(productData.get(j).toString());
+                        }
                         productCell.setCellStyle(customCellStyle);
                     }
                     productRowNum++;
@@ -364,6 +376,18 @@ public class HeHeNewOrderService extends CrudService<HeHeNewOrderDao, NewOrder>
                     }
                 }
             }
+            // 创建合计行
+            HSSFRow sumRow = productSheet.createRow(productRowNum);
+            // 设置行高度
+            sumRow.setHeight((short) 1000);
+            HSSFCell cell1 = sumRow.createCell(1);
+            HSSFCell cell2 = sumRow.createCell(8);
+            cell1.setCellType(CellType.valueOf("STRING"));
+            cell1.setCellValue("合计");
+            cell1.setCellStyle(customCellStyle);
+            cell2.setCellType(CellType.valueOf("STRING"));
+            cell2.setCellValue(totalAmount.toString());
+            cell2.setCellStyle(customCellStyle);
             // 让列宽随着导出的列长自动适应
             for (int colNum = 0; colNum< 9; colNum++) {
                 int productColumnWidth = productSheet.getColumnWidth(colNum) / 256;
@@ -449,11 +473,11 @@ public class HeHeNewOrderService extends CrudService<HeHeNewOrderDao, NewOrder>
         // 设置字体
         HSSFFont font = workbook.createFont();
         // 设置字体大小
-        // font.setFontHeightInPoints((short)10);
+         font.setFontHeightInPoints((short)11);
         // 字体加粗
         // font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
         // 设置字体名字
-        font.setFontName("Courier New");
+        font.setFontName("宋体");
         // 设置样式;
         HSSFCellStyle style = workbook.createCellStyle();
         // 设置底边框;