|
@@ -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");
|