Browse Source

入住房间选择调整

夏文涛 2 years ago
parent
commit
ec68d9f8b1

+ 1 - 1
mhotel/src/com/happy/action/bookAction.java

@@ -508,7 +508,7 @@ public class bookAction extends ActionSupport implements ServletRequestAware {
             return null;
         }
         Booking book = bookService.getById(id);
-        List<HouseNumber> houseNumbers = houseNumberService.queryHouseStatus(book);
+        List<HouseNumber> houseNumbers = houseNumberService.queryCheckRoom(book);
         book.setHouseNumbers(houseNumbers);
         if (book != null) {
             resultJson.put("message", "查询成功");

+ 1 - 0
mhotel/src/com/happy/dao/HouseNumberDao.java

@@ -13,6 +13,7 @@ public interface HouseNumberDao {
 
     List<HouseNumber> queryHouseStatus(Booking book);
 
+    List<HouseNumber> queryCheckRoom(Booking book);
     /**
      * 查询指定房型下的所有非删除状态的房间(脏房/净房)
      */

+ 25 - 0
mhotel/src/com/happy/dao/impl/HouseNumberImplDao.java

@@ -96,6 +96,31 @@ public class HouseNumberImplDao implements HouseNumberDao {
         return null;
     }
 
+    /**
+     * »ñÈ¡Èëס·¿¼ä
+     */
+    @Override
+    public List<HouseNumber> queryCheckRoom(Booking book) {
+        String sql = "select `id`,`house_id`,`number_name`,`create_id`,`create_date`,`modify_date`from\n" +
+                     "(select * from house_number where house_id = :house_id and status != 0) a\n" +
+                     "where not exists\n" +
+                     "(select number_id from house_number_status where DATE_FORMAT(set_date,'%Y-%m-%d') >= :order_start_time and DATE_FORMAT(set_date,'%Y-%m-%d') <= :order_end_time and booking_id != :booking_id and `status` >1 and number_id = a.id group by number_id)";
+        MapSqlParameterSource sps = new MapSqlParameterSource();
+        sps.addValue("house_id", book.getHouseId());
+        sps.addValue("booking_id", book.getId());
+        sps.addValue("order_start_time", book.getOrderStartTime().substring(0, 10));
+        sps.addValue("order_end_time", book.getOrderEndTime().substring(0, 10));
+        List<HouseNumber> list = new ArrayList<>();
+        try {
+            list = namedParameterJdbcTemplate.query(sql, sps, new BeanPropertyRowMapper<>(HouseNumber.class));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (list != null && list.size() > 0) return list;
+        return null;
+    }
+
+
     @Override
     public List<HouseNumberDto> queryListOne(HouseNumberDto houseNumberDto) {
         final String SQL_HEAD = "select id, house_id, number_name, create_id, create_date, modify_date, status, house_status from house_number where status in (1, 2) and house_id in (:houseIdList)";

+ 7 - 0
mhotel/src/com/happy/service/HouseNumberService.java

@@ -39,6 +39,13 @@ public interface HouseNumberService {
     List<HouseNumber> queryHouseStatus(Booking book);
 
     /**
+     * 入住获取房间
+     * @param book
+     * @return
+     */
+    List<HouseNumber> queryCheckRoom(Booking book);
+
+    /**
      * 描述:查询该房型下的房间号
      *
      * @param houseId 房型id

+ 7 - 0
mhotel/src/com/happy/service/impl/HouseNumberImplService.java

@@ -39,6 +39,13 @@ public class HouseNumberImplService implements HouseNumberService {
     }
 
     @Override
+    public List<HouseNumber> queryCheckRoom(Booking book) {
+        List<HouseNumber> result = houseNumberDao.queryCheckRoom(book);
+        return result;
+    }
+
+
+    @Override
     public List<HouseNumber> queryByHouseId(String houseId) {
         return houseNumberDao.queryByHouseId(houseId);
     }