qh 2 vuotta sitten
vanhempi
commit
6ebd41f2f3

+ 16 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomBookingOrdersController.java

@@ -31,6 +31,7 @@ import org.jeecg.modules.business.service.impl.BusRoomBookingOrdersServiceImpl;
 import org.jeecg.modules.business.vo.BatchOrderEditVo;
 import org.jeecg.modules.business.vo.BookingOrderEditVo;
 import org.jeecg.modules.business.vo.PartialSettleVo;
+import org.jeecg.modules.business.vo.RoomLivingQueryVo;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -348,5 +349,20 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 		 return Result.OK(isOk);
 	 }
 
+	 /**
+	  * 获取入住订单
+	  * @param status
+	  * @return
+	  */
+	 @ApiOperation(value="酒店预定订单-获取入住订单", notes="酒店预定订单-获取入住订单")
+	 @RequestMapping(value = "/living-orders",method = RequestMethod.GET)
+	 public Result<IPage<RoomLivingQueryVo>> livingOrders(Page<RoomLivingQueryVo> page, String keyw, Integer status){
+		 return Result.OK(service.getLivingPageData(status,keyw,page));
+	 }
+
+
+
+
+
 
  }

+ 3 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/enums/FeeSubjectType.java

@@ -11,7 +11,9 @@ public enum FeeSubjectType {
     YU_SHOU(2,"预收房费"),
     MEI_RI_FANG_FEI(3,"每日房费"),
     YOU_HUI(4,"优惠金额"),
-    JIE_ZHANG(5,"结账收款");
+    JIE_ZHANG(5,"结账收款"),
+    SHANG_PIN(6,"商品"),
+    DIAN_PIN(7,"点餐");
 
     Integer key;
 

+ 4 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusRoomBookingOrdersMapper.java

@@ -3,11 +3,13 @@ package org.jeecg.modules.business.mapper;
 import java.util.Date;
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.business.dto.TodayBookingQueryDto;
 import org.jeecg.modules.business.entity.BusBookingRooms;
 import org.jeecg.modules.business.entity.BusRoomBookingOrders;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.business.vo.RoomLivingQueryVo;
 
 /**
  * @Description: 酒店预定订单
@@ -22,4 +24,6 @@ public interface BusRoomBookingOrdersMapper extends BaseMapper<BusRoomBookingOrd
             @Param("startAt") Date startAt,
             @Param("endAt") Date endAt,
             @Param("roomIds") List<String> roomIds);
+
+    IPage<RoomLivingQueryVo> getPage(IPage<RoomLivingQueryVo> page,Integer status, String keyw);
 }

+ 39 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusRoomBookingOrdersMapper.xml

@@ -35,4 +35,43 @@
             #{roomId}
         </foreach>
     </select>
+
+    <select id="getPage" resultType="org.jeecg.modules.business.vo.RoomLivingQueryVo">
+        SELECT DISTINCT
+        tb.living_order_id,
+        o.living_order_no,
+        CONCAT( ifnull( rm.`prefix`, '' ), rm.`name` ) AS room_name,
+        tb.customer_id,
+        tb.customer_name,
+        SUM(IF(t.fee_type = 1,t.mny,0)) as xf,
+        SUM(IF(t.fee_type = 2,t.mny,0)) as sk
+
+        FROM
+        bus_rooms_living_order o
+        INNER JOIN bus_booking_rooms r ON o.booking_room_id = r.id
+        INNER JOIN ces_rooms rm ON r.room_id = rm.id
+        INNER JOIN bus_living_customer tb ON tb.living_order_id = o.id
+        INNER JOIN (
+        SELECT
+        o.id,
+        f.fee_type,
+        SUM(
+        IF
+        ( f.is_preferential = 1, - 1 * f.money, f.money )) AS mny
+        FROM
+        bus_rooms_living_order o
+        INNER JOIN bus_order_fee f ON o.id = f.living_order_id
+        WHERE
+        f.preferential_status = 1
+        AND o.settle_type = #{status}
+        GROUP BY
+        o.id,
+        f.fee_type
+        ) AS t ON t.id = o.id
+
+        GROUP BY o.id,tb.living_order_id,rm.id,tb.customer_id,tb.customer_name
+        <if test="keyw != null and keyw != ''">
+            where (o.living_order_no like '%#{keyw}%' or rm.`name` like '%#{keyw}%' or tb.customer_name like '%#{keyw}%')
+        </if>
+    </select>
 </mapper>

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusRoomBookingOrdersService.java

@@ -1,5 +1,7 @@
 package org.jeecg.modules.business.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.business.dto.BatchOrderSavaDto;
 import org.jeecg.modules.business.dto.BookingOrderSaveDto;
 import org.jeecg.modules.business.entity.BusBookingBatch;
@@ -10,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.business.vo.BatchOrderEditVo;
 import org.jeecg.modules.business.vo.BookingOrderEditVo;
 import org.jeecg.modules.business.vo.PartialSettleVo;
+import org.jeecg.modules.business.vo.RoomLivingQueryVo;
 import org.jeecg.modules.rooms.Vo.FloorBuildingRoomVo;
 import org.jeecg.modules.rooms.entity.CesRooms;
 
@@ -57,4 +60,7 @@ public interface IBusRoomBookingOrdersService extends IService<BusRoomBookingOrd
     Boolean splitLiving(String livingOrderId);
     Boolean leaveNotSettle(String bookingOrderId, String livingOrderId);
 
+    IPage<RoomLivingQueryVo> getLivingPageData(Integer status,String keyw, Page<RoomLivingQueryVo> page);
+    Boolean setLivingOrderFee(List<BusOrderFee> fees,String livingOrderId);
+
 }

+ 23 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusRoomBookingOrdersServiceImpl.java

@@ -1,7 +1,9 @@
 package org.jeecg.modules.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
@@ -1204,6 +1206,27 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
         return true;
     }
 
+    @Override
+    public IPage<RoomLivingQueryVo> getLivingPageData(Integer status,String keyw, Page<RoomLivingQueryVo> page) {
+        return baseMapper.getPage(page,status,keyw);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean setLivingOrderFee(List<BusOrderFee> fees, String livingOrderId) {
+        if(fees == null || fees.size() == 0) throw new JeecgBootException("参数无效");
+        fees.forEach(roomFee->{
+            if(roomFee.getRoomId() == null ||roomFee.getRoomId().isEmpty()) throw new JeecgBootException("房间ID不正确");
+            roomFee.setLivingOrderId(livingOrderId);
+            roomFee.setFeeType(1); // 消费
+            roomFee.setCreateTime(new Date());
+            roomFee.setDayTime(new Date());
+            feeService.save(roomFee);
+        });
+
+        return true;
+    }
+
     String getBookingRoomHotelId(BusBookingRooms bookingRoom) {
         return roomsService.getById(bookingRoom.getRoomId()).getHotelId();
     }

+ 18 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/RoomLivingQueryVo.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.business.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class RoomLivingQueryVo {
+    private String livingOrderId;
+    private String livingOrderNo;
+    private String roomName;
+    private String customerId;
+    private String customerName;
+    private BigDecimal mny;
+    private BigDecimal xf;
+    private BigDecimal sk;
+    private Integer feeType;
+}