浏览代码

add 增加维修单导出

周箭河 4 年之前
父节点
当前提交
54a2128af6
共有 1 个文件被更改,包括 14 次插入4 次删除
  1. 14 4
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRepairController.java

+ 14 - 4
mec-web/src/main/java/com/ym/mec/web/controller/StudentRepairController.java

@@ -38,6 +38,7 @@ import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 @RequestMapping("studentRepair")
 @Api(tags = "维修服务")
@@ -119,16 +120,25 @@ public class StudentRepairController extends BaseController {
             throw new BizException("没有可导出的记录");
         }
         for (StudentRepair row : pageList.getRows()) {
-            if (row.getGoodsJson() == null || row.getGoodsJson().equals("[]")) continue;
+            if (row.getGoodsJson() == null || row.getGoodsJson().equals("[]")) {
+                row.setAmount(row.getAmount().subtract(row.getExemptionAmount()));
+                row.setGoodsJson("");
+                continue;
+            }
             List<RepairGoodsDto> repairGoodsDtos = JSONObject.parseArray(row.getGoodsJson(), RepairGoodsDto.class);
             BigDecimal repairGoodsAmount = repairGoodsDtos.stream().map(RepairGoodsDto::getGroupPurchasePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
-            row.setRepairGoodsAmount(repairGoodsAmount);
+            BigDecimal goodsRouteAmount = (row.getAmount().add(repairGoodsAmount).subtract(row.getExemptionAmount())).multiply(repairGoodsAmount).divide(row.getAmount().add(repairGoodsAmount), 2, BigDecimal.ROUND_DOWN);
+            BigDecimal repairRouteAmount = row.getAmount().add(repairGoodsAmount).subtract(row.getExemptionAmount()).subtract(goodsRouteAmount);
+            String goodiesStr = repairGoodsDtos.stream().map(RepairGoodsDto::getName).collect(Collectors.joining(","));
+            row.setGoodsJson(goodiesStr);
+            row.setRepairGoodsAmount(goodsRouteAmount);
+            row.setAmount(repairRouteAmount);
         }
 
         OutputStream outputStream = response.getOutputStream();
         try {
-            String[] header = {"分部", "维修单号", "学生姓名", "学生编号", "维修技师", "维修类型", "维修单名称", "维修服务费", "商品金额", "特权减免金额", "送修日期", "完成日期", "状态"};
-            String[] body = {"organName", "transNo", "studentName", "studentId", "employeeName", "type == 0 ? '线下' : '线上'", "repairName", "amount", "repairGoodsAmount", "exemptionAmount", "createTime", "finishTime", "repairStatus == 0 ? '维修中' : '已完成'"};
+            String[] header = {"维修单号", "分部", "学生姓名", "学生编号", "维修技师", "维修类型", "维修单名称", "送修日期", "完成日期", "状态", "维修服务费", "商品价格", "销售商品"};
+            String[] body = {"transNo", "organName", "studentName", "studentId", "employeeName", "type == 0 ? '线下' : '线上'", "repairName", "createTime", "finishTime", "repairStatus == 0 ? '维修中' : '已完成'", "amount", "repairGoodsAmount", "goodsJson"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, pageList.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=repairList-" + DateUtil.getDate(new Date()) + ".xls");