瀏覽代碼

会议预约,订餐预定

Administrator 10 月之前
父節點
當前提交
bb5d2b2e59

+ 10 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/food/OrderFoodController.java

@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.food;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.common.utils.DateUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -45,6 +46,15 @@ public class OrderFoodController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 查询我的订餐日历形式
+     */
+    @PreAuthorize("@ss.hasPermi('system:food:riLi')")
+    @GetMapping("/riLi")
+    public AjaxResult riLi(OrderFood orderFood) {
+        return orderFoodService.selectOrderFoodListRiLi(orderFood);
+    }
+
     /**
      * 导出订餐预约列表
      */

+ 30 - 5
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java

@@ -3,12 +3,13 @@ package com.ruoyi.common.utils;
 import java.lang.management.ManagementFactory;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
+import java.time.*;
+import java.time.temporal.TemporalAdjuster;
+import java.time.temporal.TemporalAdjusters;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
+
 import org.apache.commons.lang3.time.DateFormatUtils;
 
 /**
@@ -188,4 +189,28 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
         ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
         return Date.from(zdt.toInstant());
     }
+    /**
+     * 增加 Date  ==> LocalDate
+     */
+    public static LocalDate toLocalDate(Date date)
+    {
+     return    date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+    }
+
+
+    /**
+     * 获取当月所有日期
+     * @return
+     */
+    public static List<String> getDay(Date date){
+        List<String> dateList = new ArrayList<>();
+        LocalDate localDate = toLocalDate(date);
+        LocalDate firstDayOfMoth = localDate.with(TemporalAdjusters.firstDayOfMonth());
+        LocalDate lastDayOfMoth = localDate.with(TemporalAdjusters.lastDayOfMonth());
+
+        for (LocalDate dateResult = firstDayOfMoth;dateResult.isBefore(lastDayOfMoth.plusDays(1));dateResult = dateResult.plusDays(1)){
+            dateList.add(dateResult.toString());
+        }
+        return dateList;
+    }
 }

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IOrderFoodService.java

@@ -28,6 +28,7 @@ public interface IOrderFoodService
      * @return 订餐预约集合
      */
     public List<OrderFood> selectOrderFoodList(OrderFood orderFood);
+    public AjaxResult selectOrderFoodListRiLi(OrderFood orderFood);
 
     /**
      * 新增订餐预约

+ 40 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderFoodServiceImpl.java

@@ -1,10 +1,15 @@
 package com.ruoyi.system.service.impl;
 
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
+import jdk.internal.org.objectweb.asm.Handle;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.OrderFoodMapper;
@@ -44,6 +49,41 @@ public class OrderFoodServiceImpl implements IOrderFoodService {
         return orderFoodMapper.selectOrderFoodList(orderFood);
     }
 
+    @Override
+    public AjaxResult selectOrderFoodListRiLi(OrderFood orderFood) {
+        List<OrderFood> orderFoods = orderFoodMapper.selectOrderFoodList(orderFood);
+        Map<Date, List<OrderFood>> foodTime = new HashMap<>();
+        if (orderFoods != null && orderFoods.size() > 0){
+            foodTime = orderFoods.stream().collect(Collectors.groupingBy(OrderFood::getOrderFoodTime));
+        }
+        List<String> dayList = DateUtils.getDay(orderFood.getOrderFoodTime());
+        Map<String,Object> map = new HashMap<>(31);
+        if (dayList.size()> 0){
+            for (String day : dayList) {
+                map.put("date",day);
+                map.put("am","未预约");
+                map.put("pm","未预约");
+                if (foodTime.size() > 0){
+                    List<OrderFood> orderFoodsList = foodTime.get(DateUtils.parseDate(day));
+                    if (orderFoodsList != null && orderFoodsList.size() > 0){
+                        for (OrderFood food : orderFoodsList) {
+                            String orderFoodType = food.getOrderFoodType();
+                            if ("1".equals(orderFoodType)){
+                                map.put("am","已预约");
+                                map.put("amId",food.getOrderFoodId());
+                            }
+                            else if ("2".equals(orderFoodType)){
+                                map.put("pm","已预约");
+                                map.put("pmId",food.getOrderFoodId());
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        return AjaxResult.success(map);
+    }
+
     /**
      * 新增订餐预约
      *

+ 3 - 2
ruoyi-system/src/main/resources/mapper/system/ConferenceRoomMapper.xml

@@ -27,6 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="conferenceRoomAddress != null  and conferenceRoomAddress != ''"> and conference_room_address = #{conferenceRoomAddress}</if>
             <if test="createDept != null "> and create_dept = #{createDept}</if>
         </where>
+        order by create_time desc
     </select>
     
     <select id="selectConferenceRoomByConferenceRoomId" parameterType="Long" resultMap="ConferenceRoomResult">
@@ -41,20 +42,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="conferenceRoomAddress != null">conference_room_address,</if>
             <if test="createDept != null">create_dept,</if>
             <if test="createBy != null">create_by,</if>
-            <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
             <if test="remark != null">remark,</if>
+            create_time
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="conferenceRoomName != null">#{conferenceRoomName},</if>
             <if test="conferenceRoomAddress != null">#{conferenceRoomAddress},</if>
             <if test="createDept != null">#{createDept},</if>
             <if test="createBy != null">#{createBy},</if>
-            <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
             <if test="remark != null">#{remark},</if>
+            sysdate()
          </trim>
     </insert>
 

+ 1 - 0
ruoyi-system/src/main/resources/mapper/system/ConferenceRoomOrderMapper.xml

@@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="endTime != null "> and end_time = #{endTime}</if>
             <if test="createDept != null "> and create_dept = #{createDept}</if>
         </where>
+        order by  end_time DESC
     </select>
 
     <select id="selectConferenceRoomOrderByStartTime" parameterType="ConferenceRoomOrder" resultMap="ConferenceRoomOrderResult">

+ 5 - 2
ruoyi-system/src/main/resources/mapper/system/OrderFoodMapper.xml

@@ -26,8 +26,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectOrderFoodList" parameterType="OrderFood" resultMap="OrderFoodResult">
         <include refid="selectOrderFoodVo"/>
-        <where>  
-            <if test="orderFoodTime != null "> and order_food_time = #{orderFoodTime}</if>
+        <where>
+            <if test="orderFoodTime != null"><!-- 开始时间检索 -->
+                AND date_format(order_food_time,'%Y%m') = date_format(#{orderFoodTime},'%Y%m')
+            </if>
             <if test="orderFoodType != null  and orderFoodType != ''"> and order_food_type = #{orderFoodType}</if>
             <if test="orderFoodUser != null  and orderFoodUser != ''"> and order_food_user = #{orderFoodUser}</if>
             <if test="orderFoodUserId != null "> and order_food_user_id = #{orderFoodUserId}</if>
@@ -35,6 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="orderFoodDeptId != null "> and order_food_dept_id = #{orderFoodDeptId}</if>
             <if test="createDept != null "> and create_dept = #{createDept}</if>
         </where>
+        order by order_food_time desc
     </select>
     
     <select id="selectOrderFoodByOrderFoodId" parameterType="Long" resultMap="OrderFoodResult">