Bläddra i källkod

新增
1、长者点餐增加额外自选选项字段,对应提交、分页、导出接口修改
BUGFIX
1、解决长者档案导出时没有合同编号报错问题

liangwenxuan 2 månader sedan
förälder
incheckning
e07c162ae3

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/ElderOrderFoodExportExcelVO.java

@@ -33,4 +33,7 @@ public class ElderOrderFoodExportExcelVO {
 
     @ExcelProperty("附加菜名")
     private String extraDishes;
+
+    @ExcelProperty("附加菜名选项")
+    private String extraDishesOption;
 }

+ 6 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/ElderlyOrderFoodCommitVO.java

@@ -31,6 +31,12 @@ public class ElderlyOrderFoodCommitVO {
      */
     private String extraDishes;
 
+    /**
+     * 额外自选选项
+     */
+    private String extraDishesOption;
+
+
     /**
      * 机构id
      */

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/ElderlyOrderFoodGetResVO.java

@@ -53,4 +53,7 @@ public class ElderlyOrderFoodGetResVO {
     // ---------- 长者已选额外自选(假设只针对午餐) ----------
     @Schema(description = "长者已选额外自选(当前仅支持午餐)")
     private String selectedExtra;
+
+    @Schema(description = "长者已选额外自选选项(当前仅支持午餐)")
+    private String selectedExtraOption;
 }

+ 3 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/ElderlyOrderFoodRespVO.java

@@ -28,6 +28,9 @@ public class ElderlyOrderFoodRespVO {
     @Schema(description = "额外自选")
     private String extraDishes;
 
+    @Schema(description = "额外自选选项")
+    private String extraDishesOption;
+
     @Schema(description = "机构id", example = "1")
     private Long tenantId;
 }

+ 5 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyOrderFoodDO.java

@@ -42,6 +42,11 @@ public class ElderlyOrderFoodDO {
      */
     private String extraDishes;
 
+    /**
+     * 额外自选选项
+     */
+    private String extraDishesOption;
+
     /**
      * 机构id
      */

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyInfoServiceImpl.java

@@ -833,7 +833,7 @@ public class ElderlyInfoServiceImpl implements ElderlyInfoService {
             ElderlyBaseInfoExportExcelVO baseInfoExportExcelVO = new ElderlyBaseInfoExportExcelVO();
             BeanUtils.copyProperties(e, baseInfoExportExcelVO);
             baseInfoExportExcelVO.setNum(atomicInteger.getAndIncrement());
-            baseInfoExportExcelVO.setContractNumber(contractMap.get(e.getId()).getContractNumber());
+            baseInfoExportExcelVO.setContractNumber(contractMap.get(e.getId()) == null ? "" : contractMap.get(e.getId()).getContractNumber());
             baseInfoExportExcelVO.setBirthdayCareDate(e.getBirthday() == null ? null : e.getBirthday().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
             baseInfoExportExcelVO.setBedName(buildService.getFullBedName(e.getId()));
             if (e.getNurseLevelId() != null) {

+ 11 - 5
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ElderlyOrderFoodServiceImpl.java

@@ -33,6 +33,8 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exceptionCustomMsg;
+import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.COMMON_ERROR;
 import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.COMMON_NOT_FOUND;
 
 @Service
@@ -101,6 +103,9 @@ public class ElderlyOrderFoodServiceImpl implements ElderlyOrderFoodService {
                 .eq(CateringPlanDO::getRestaurantId, 27)
                 .eq(CateringPlanDO::getScheduledStartDate,monday)
                 .eq(CateringPlanDO::getScheduledEndDate,sunday));
+        if(cateringPlanDO == null){
+            throw exceptionCustomMsg(COMMON_ERROR,"暂无菜单,请联系后勤配菜单计划!");
+        }
         List<CateringPlanItemDO> cateringPlanItemDOS = cateringPlanItemMapper.selectList(new LambdaQueryWrapperX<CateringPlanItemDO>()
                 .eq(CateringPlanItemDO::getCateringPlanId, cateringPlanDO.getId())
                 .in(CateringPlanItemDO::getMealTimes, "早餐", "中餐", "晚餐"));
@@ -149,14 +154,15 @@ public class ElderlyOrderFoodServiceImpl implements ElderlyOrderFoodService {
                         .eq(ElderlyOrderFoodDO::getElderId, reqVO.getElderId())
                         .between(ElderlyOrderFoodDO::getOrderFoodDate, monday, sunday)
         );
-        Map<LocalDate, String> orderMap = orders.stream()
-                .collect(Collectors.toMap(ElderlyOrderFoodDO::getOrderFoodDate, ElderlyOrderFoodDO::getExtraDishes));
+        Map<LocalDate, ElderlyOrderFoodDO> orderMap = orders.stream()
+                .collect(Collectors.toMap(ElderlyOrderFoodDO::getOrderFoodDate, Function.identity()));
 
         // 将报餐信息合并到每日计划
         for (ElderlyOrderFoodGetResVO daily : week) {
-            String extra = orderMap.get(daily.getDate());
-            if (extra != null) {
-                daily.setSelectedExtra(extra);
+            ElderlyOrderFoodDO order = orderMap.get(daily.getDate());
+            if (order != null) {
+                daily.setSelectedExtra(order.getExtraDishes());
+                daily.setSelectedExtraOption(order.getExtraDishesOption());
             }
         }
         return week;

+ 2 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/ElderlyOrderFoodMapper.xml

@@ -12,6 +12,7 @@
                r.room_name AS roomName,
                eof.order_food_date AS orderFoodDate,
                eof.extra_dishes AS extraDishes,
+               eof.extra_dishes_option AS extraDishesOption,
                eof.tenant_id AS tenantId
         FROM elderly_order_food eof
                  LEFT JOIN elderly_info ei ON ei.id = eof.elder_id
@@ -50,6 +51,7 @@
         r.room_name AS roomName,
         eof.order_food_date AS orderFoodDate,
         eof.extra_dishes AS extraDishes,
+        eof.extra_dishes_option AS extraDishesOption,
         eof.tenant_id AS tenantId
         FROM elderly_order_food eof
         LEFT JOIN elderly_info ei ON ei.id = eof.elder_id