feat(settlement): 添加医生信息字段并调整Excel导出列顺序
- 在SettlementDTO中新增doctors字段用于存储医生信息- 在结算服务中安全获取并处理医生信息列表 - 调整Excel导出时的列标题顺序,增加医嘱信息列- 更新Excel数据填充逻辑以支持新的列结构 - 修改列合并范围和自动列宽调整逻辑以适应新增列
Showing
2 changed files
with
26 additions
and
12 deletions
| ... | @@ -117,6 +117,7 @@ public class SettlementDTO { | ... | @@ -117,6 +117,7 @@ public class SettlementDTO { |
| 117 | private String skuName; | 117 | private String skuName; |
| 118 | private Integer count; | 118 | private Integer count; |
| 119 | private String avoids; | 119 | private String avoids; |
| 120 | + private String doctors; | ||
| 120 | private String remark; | 121 | private String remark; |
| 121 | } | 122 | } |
| 122 | 123 | ... | ... |
| ... | @@ -1272,6 +1272,10 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -1272,6 +1272,10 @@ public class SettlementServiceImpl implements SettlementService { |
| 1272 | List<String> avoidsList = getAvoidsSafely(order); | 1272 | List<String> avoidsList = getAvoidsSafely(order); |
| 1273 | String avoidsStr = String.join(", ", avoidsList); | 1273 | String avoidsStr = String.join(", ", avoidsList); |
| 1274 | 1274 | ||
| 1275 | + // 安全获取医生信息(列表转字符串) | ||
| 1276 | + List<String> doctorsList = getDoctorsSafely(order); | ||
| 1277 | + String doctorsStr = String.join(", ", doctorsList); | ||
| 1278 | + | ||
| 1275 | String remark = order.getRemark(); | 1279 | String remark = order.getRemark(); |
| 1276 | String avoidRemark = order.getAvoidRemark(); | 1280 | String avoidRemark = order.getAvoidRemark(); |
| 1277 | String combinedRemark = ""; | 1281 | String combinedRemark = ""; |
| ... | @@ -1293,6 +1297,7 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -1293,6 +1297,7 @@ public class SettlementServiceImpl implements SettlementService { |
| 1293 | .skuName(skuName) | 1297 | .skuName(skuName) |
| 1294 | .count(orderDetail.getCount() != 0 ? orderDetail.getCount() : 0) | 1298 | .count(orderDetail.getCount() != 0 ? orderDetail.getCount() : 0) |
| 1295 | .avoids(avoidsStr) | 1299 | .avoids(avoidsStr) |
| 1300 | + .doctors(doctorsStr) | ||
| 1296 | .remark(combinedRemark) | 1301 | .remark(combinedRemark) |
| 1297 | .build(); | 1302 | .build(); |
| 1298 | mealDetails.add(mealDetail); | 1303 | mealDetails.add(mealDetail); |
| ... | @@ -1369,7 +1374,7 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -1369,7 +1374,7 @@ public class SettlementServiceImpl implements SettlementService { |
| 1369 | mainTitleCell.setCellStyle(titleStyle); | 1374 | mainTitleCell.setCellStyle(titleStyle); |
| 1370 | 1375 | ||
| 1371 | // 合并第一行的8列 | 1376 | // 合并第一行的8列 |
| 1372 | - CellRangeAddress titleRegion = new CellRangeAddress(0, 0, 0, 7); | 1377 | + CellRangeAddress titleRegion = new CellRangeAddress(0, 0, 0, 8); |
| 1373 | sheet.addMergedRegion(titleRegion); | 1378 | sheet.addMergedRegion(titleRegion); |
| 1374 | 1379 | ||
| 1375 | // 为合并区域设置边框 | 1380 | // 为合并区域设置边框 |
| ... | @@ -1399,25 +1404,29 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -1399,25 +1404,29 @@ public class SettlementServiceImpl implements SettlementService { |
| 1399 | cell2.setCellStyle(headerStyle); | 1404 | cell2.setCellStyle(headerStyle); |
| 1400 | 1405 | ||
| 1401 | Cell cell3 = titleRow.createCell(columnNum++); | 1406 | Cell cell3 = titleRow.createCell(columnNum++); |
| 1402 | - cell3.setCellValue("餐单名称"); | 1407 | + cell3.setCellValue("医嘱信息"); |
| 1403 | cell3.setCellStyle(headerStyle); | 1408 | cell3.setCellStyle(headerStyle); |
| 1404 | 1409 | ||
| 1405 | Cell cell4 = titleRow.createCell(columnNum++); | 1410 | Cell cell4 = titleRow.createCell(columnNum++); |
| 1406 | - cell4.setCellValue("菜品名称"); | 1411 | + cell4.setCellValue("餐单名称"); |
| 1407 | cell4.setCellStyle(headerStyle); | 1412 | cell4.setCellStyle(headerStyle); |
| 1408 | 1413 | ||
| 1409 | Cell cell5 = titleRow.createCell(columnNum++); | 1414 | Cell cell5 = titleRow.createCell(columnNum++); |
| 1410 | - cell5.setCellValue("菜品数量"); | 1415 | + cell5.setCellValue("菜品名称"); |
| 1411 | cell5.setCellStyle(headerStyle); | 1416 | cell5.setCellStyle(headerStyle); |
| 1412 | 1417 | ||
| 1413 | Cell cell6 = titleRow.createCell(columnNum++); | 1418 | Cell cell6 = titleRow.createCell(columnNum++); |
| 1414 | - cell6.setCellValue("忌口信息"); | 1419 | + cell6.setCellValue("菜品数量"); |
| 1415 | cell6.setCellStyle(headerStyle); | 1420 | cell6.setCellStyle(headerStyle); |
| 1416 | 1421 | ||
| 1417 | Cell cell7 = titleRow.createCell(columnNum++); | 1422 | Cell cell7 = titleRow.createCell(columnNum++); |
| 1418 | - cell7.setCellValue("备注"); | 1423 | + cell7.setCellValue("忌口信息"); |
| 1419 | cell7.setCellStyle(headerStyle); | 1424 | cell7.setCellStyle(headerStyle); |
| 1420 | 1425 | ||
| 1426 | + Cell cell8 = titleRow.createCell(columnNum++); | ||
| 1427 | + cell8.setCellValue("备注"); | ||
| 1428 | + cell8.setCellStyle(headerStyle); | ||
| 1429 | + | ||
| 1421 | // 填充数据 | 1430 | // 填充数据 |
| 1422 | final var mealDetails = separateMealDataDto.getMealDetails(); | 1431 | final var mealDetails = separateMealDataDto.getMealDetails(); |
| 1423 | if (mealDetails != null) { | 1432 | if (mealDetails != null) { |
| ... | @@ -1438,29 +1447,33 @@ public class SettlementServiceImpl implements SettlementService { | ... | @@ -1438,29 +1447,33 @@ public class SettlementServiceImpl implements SettlementService { |
| 1438 | dataCell2.setCellStyle(dataStyle); | 1447 | dataCell2.setCellStyle(dataStyle); |
| 1439 | 1448 | ||
| 1440 | Cell dataCell3 = dataRow.createCell(columnNum++); | 1449 | Cell dataCell3 = dataRow.createCell(columnNum++); |
| 1441 | - dataCell3.setCellValue(mealDetail.getMenuName() != null ? mealDetail.getMenuName() : ""); | 1450 | + dataCell3.setCellValue(mealDetail.getDoctors() != null ? mealDetail.getDoctors() : ""); |
| 1442 | dataCell3.setCellStyle(dataStyle); | 1451 | dataCell3.setCellStyle(dataStyle); |
| 1443 | 1452 | ||
| 1444 | Cell dataCell4 = dataRow.createCell(columnNum++); | 1453 | Cell dataCell4 = dataRow.createCell(columnNum++); |
| 1445 | - dataCell4.setCellValue(mealDetail.getSkuName() != null ? mealDetail.getSkuName() : ""); | 1454 | + dataCell4.setCellValue(mealDetail.getMenuName() != null ? mealDetail.getMenuName() : ""); |
| 1446 | dataCell4.setCellStyle(dataStyle); | 1455 | dataCell4.setCellStyle(dataStyle); |
| 1447 | 1456 | ||
| 1448 | Cell dataCell5 = dataRow.createCell(columnNum++); | 1457 | Cell dataCell5 = dataRow.createCell(columnNum++); |
| 1449 | - dataCell5.setCellValue(mealDetail.getCount() != null ? mealDetail.getCount() : 0); | 1458 | + dataCell5.setCellValue(mealDetail.getSkuName() != null ? mealDetail.getSkuName() : ""); |
| 1450 | dataCell5.setCellStyle(dataStyle); | 1459 | dataCell5.setCellStyle(dataStyle); |
| 1451 | 1460 | ||
| 1452 | Cell dataCell6 = dataRow.createCell(columnNum++); | 1461 | Cell dataCell6 = dataRow.createCell(columnNum++); |
| 1453 | - dataCell6.setCellValue(mealDetail.getAvoids() != null ? mealDetail.getAvoids() : ""); | 1462 | + dataCell6.setCellValue(mealDetail.getCount() != null ? mealDetail.getCount() : 0); |
| 1454 | dataCell6.setCellStyle(dataStyle); | 1463 | dataCell6.setCellStyle(dataStyle); |
| 1455 | 1464 | ||
| 1456 | Cell dataCell7 = dataRow.createCell(columnNum++); | 1465 | Cell dataCell7 = dataRow.createCell(columnNum++); |
| 1457 | - dataCell7.setCellValue(mealDetail.getRemark() != null ? mealDetail.getRemark() : ""); | 1466 | + dataCell7.setCellValue(mealDetail.getAvoids() != null ? mealDetail.getAvoids() : ""); |
| 1458 | dataCell7.setCellStyle(dataStyle); | 1467 | dataCell7.setCellStyle(dataStyle); |
| 1468 | + | ||
| 1469 | + Cell dataCell8 = dataRow.createCell(columnNum++); | ||
| 1470 | + dataCell8.setCellValue(mealDetail.getRemark() != null ? mealDetail.getRemark() : ""); | ||
| 1471 | + dataCell8.setCellStyle(dataStyle); | ||
| 1459 | } | 1472 | } |
| 1460 | } | 1473 | } |
| 1461 | 1474 | ||
| 1462 | // 自动调整列宽 | 1475 | // 自动调整列宽 |
| 1463 | - for (int i = 0; i < 8; i++) { | 1476 | + for (int i = 0; i < 9; i++) { |
| 1464 | sheet.autoSizeColumn(i); | 1477 | sheet.autoSizeColumn(i); |
| 1465 | } | 1478 | } |
| 1466 | 1479 | ... | ... |
-
Please register or login to post a comment