Explorar o código

修改冲账功能,修改夜审时将预约房间变回原房态

许智捷 %!s(int64=2) %!d(string=hai) anos
pai
achega
5acb016193

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

@@ -91,6 +91,10 @@ public class BusMemberCard implements Serializable {
 	@Excel(name = "证件号", width = 15)
     @ApiModelProperty(value = "证件号")
     private String certificateNo;
+    /**生日*/
+    @Excel(name = "生日", width = 15)
+    @ApiModelProperty(value = "生日")
+    private String birthday;
 	/**地址*/
 //	@Excel(name = "地址", width = 15)
     @ApiModelProperty(value = "地址")

+ 2 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusOrderFee.java

@@ -140,6 +140,8 @@ public class BusOrderFee implements Serializable {
 
     private String returnFeeId;
     private Boolean returnItem;
+    @ApiModelProperty(value = "数量")
+    private Integer returnNum;
     @ApiModelProperty(value = "预定id")
     private String bookingOrderId;
     @ApiModelProperty(value = "预定押金")
@@ -160,7 +162,4 @@ public class BusOrderFee implements Serializable {
     @ApiModelProperty(value = "原价")
     private BigDecimal originalMoney;
 
-    @TableField(exist = false)
-    @ApiModelProperty(value = "数量")
-    private Integer num;
 }

+ 3 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusOrderFeeServiceImpl.java

@@ -85,6 +85,8 @@ public class BusOrderFeeServiceImpl extends ServiceImpl<BusOrderFeeMapper, BusOr
                 newOrderFee.setPayTime(new Date());
                 newOrderFee.setDayTime(new Date());
                 newOrderFee.setRemark(orderFee.getRemark());
+                newOrderFee.setReturnNum(orderFee.getReturnNum());
+                newOrderFee.setCustorerOrderRemark(orderFee.getCustorerOrderRemark());
                 // orderFee.getMoney()前端需要传入为负数的差价
                 newOrderFee.setMoney(orderFee.getMoney());
                 // 冲账退款分开操作,不需要了
@@ -111,7 +113,7 @@ public class BusOrderFeeServiceImpl extends ServiceImpl<BusOrderFeeMapper, BusOr
                         throw new JeecgBootException("查找费用商品详情失败");
                     }
                     // 前端需要传入需要冲掉的数量
-                    orderFeeGoods.get(0).setNum(orderFee.getNum());
+                    orderFeeGoods.get(0).setNum(orderFee.getReturnNum());
                     orderFeeGoods.get(0).setOrderFeeId(newOrderFee.getId());
                     // 添加仓库销售退货,修改商品库存
                     KcDepositoryInGoods depositoryInGood = addDepositoryInGood(orderFeeGoods.get(0));

+ 4 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/job/NightAuditJob.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.quartz.job;
 
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.modules.business.service.IBusRoomBookingOrdersService;
+import org.jeecg.modules.rooms.service.CesRoomsServiceImpl;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
@@ -20,10 +21,13 @@ public class NightAuditJob implements Job {
     }
     @Resource
     private IBusRoomBookingOrdersService bookingOrdersService;
+    @Resource
+    private CesRoomsServiceImpl cesRoomsService;
 
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         log.info("时间{},酒店id:{},修改房费",new Date(),parameter);
         bookingOrdersService.syncDayRoomFee(parameter);
+        cesRoomsService.returnReserveRoom();
     }
 }

+ 8 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesGoodsServiceImpl.java

@@ -275,6 +275,14 @@ private KcGoodsServiceImpl kcGoodsService;
 
     /**商品退货*/
     public void saleReturn(KcDepositoryInGoods depositoryInGoods){
+        KcDepositoryInGoods kcDepositoryInGoods = kcDepositoryInGoodsService.getOne(Wrappers.<KcDepositoryInGoods>lambdaQuery()
+                .eq(KcDepositoryInGoods::getGoodsId, depositoryInGoods.getGoodsId())
+                .eq(KcDepositoryInGoods::getFeeId, depositoryInGoods.getFeeId())
+                .orderByDesc(KcDepositoryInGoods::getCreateTime).last("limit 1"));
+        if (kcDepositoryInGoods == null){
+            throw new JeecgBootException("未找到出库记录");
+        }
+        depositoryInGoods.setDepositoryId(kcDepositoryInGoods.getDepositoryId());
         CesGoods goods = getById(depositoryInGoods.getGoodsId());
         if (goods == null) {
             throw new JeecgBootException("未找到商品");

+ 13 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesRoomsServiceImpl.java

@@ -477,6 +477,9 @@ public class CesRoomsServiceImpl extends ServiceImpl<CesRoomsMapper, CesRooms> i
     public Boolean returnReserveRoom() {
         List<CesRooms> roomList = list(Wrappers.<CesRooms>lambdaQuery().eq(CesRooms::getRoomStatus, RoomStatusEnum.RESERVE.getKey()));
         List<String> ids = roomList.stream().map(CesRooms::getId).collect(Collectors.toList());
+        if (ids.isEmpty()){
+            return true;
+        }
         Calendar calendar = Calendar.getInstance();
         calendar.add(Calendar.DAY_OF_YEAR, 1);
         calendar.set(Calendar.HOUR_OF_DAY, 0);
@@ -484,10 +487,18 @@ public class CesRoomsServiceImpl extends ServiceImpl<CesRoomsMapper, CesRooms> i
         calendar.set(Calendar.SECOND, 0);
         List<BusRoomBookingOrders> bookingOrderList = roomBookingOrdersMapper.findBookingOrder(ids, new Date(), calendar.getTime());
         List<String> orderIds = bookingOrderList.stream().map(BusRoomBookingOrders::getId).collect(Collectors.toList());
-        List<BusBookingRooms> bookingRoomsList = bookingRoomsService.list(Wrappers.<BusBookingRooms>lambdaQuery().in(BusBookingRooms::getBookingOrdersId, orderIds));
-        Set<String> bookingRoomIds = bookingRoomsList.stream().map(BusBookingRooms::getRoomId).collect(Collectors.toSet());
+        Set<String> bookingRoomIds;
+        if (!orderIds.isEmpty()){
+            List<BusBookingRooms> bookingRoomsList = bookingRoomsService.list(Wrappers.<BusBookingRooms>lambdaQuery().in(BusBookingRooms::getBookingOrdersId, orderIds));
+            bookingRoomIds = bookingRoomsList.stream().map(BusBookingRooms::getRoomId).collect(Collectors.toSet());
+        } else {
+            bookingRoomIds = new HashSet<>();
+        }
         List<String> idList = ids.stream().filter(e -> !bookingRoomIds.contains(e)).collect(Collectors.toList());
         UpdateWrapper<CesRooms> updateWrapper = new UpdateWrapper<>();
+        if (idList.isEmpty()){
+            return true;
+        }
         updateWrapper.setSql("room_status = last_room_status").in("id",idList);
         return update(updateWrapper);
     }