|
|
@@ -2,16 +2,23 @@ package org.jeecg.modules.business.controller;
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.jeecg.common.Enum.ResultCode;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
|
|
+import org.jeecg.common.system.query.QueryGenerator;
|
|
|
import org.jeecg.modules.business.dto.BusMeetingRoomScheduleDetailDto;
|
|
|
import org.jeecg.modules.business.dto.BusMeetingRoomScheduleDto;
|
|
|
-import org.jeecg.modules.business.entity.BusMeetingRoom;
|
|
|
-import org.jeecg.modules.business.entity.BusMeetingRoomSchedule;
|
|
|
-import org.jeecg.modules.business.entity.BusMeetingRoomScheduleDetail;
|
|
|
+import org.jeecg.modules.business.entity.*;
|
|
|
+import org.jeecg.modules.business.service.IBusMeetingRoomScheduleDetailService;
|
|
|
+import org.jeecg.modules.business.service.IBusMeetingRoomScheduleOrderDetailService;
|
|
|
+import org.jeecg.modules.business.service.IBusRoomPayTypeService;
|
|
|
import org.jeecg.modules.business.service.impl.BusMeetingRoomScheduleServiceImpl;
|
|
|
import org.jeecg.modules.business.service.impl.BusMeetingRoomServiceImpl;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
@@ -19,6 +26,8 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -37,6 +46,12 @@ public class BusMeetingRoomScheduleController {
|
|
|
|
|
|
@Resource
|
|
|
private BusMeetingRoomScheduleServiceImpl roomScheduleService;
|
|
|
+ @Resource
|
|
|
+ private IBusMeetingRoomScheduleOrderDetailService busMeetingRoomScheduleOrderDetailService;
|
|
|
+ @Resource
|
|
|
+ private IBusMeetingRoomScheduleDetailService busMeetingRoomScheduleDetailService;
|
|
|
+ @Resource
|
|
|
+ private IBusRoomPayTypeService busRoomPayTypeService;
|
|
|
|
|
|
@ApiOperation(value="创建会议预定", notes="创建会议预定")
|
|
|
@PostMapping(value = "/create")
|
|
|
@@ -115,5 +130,60 @@ public class BusMeetingRoomScheduleController {
|
|
|
return Result.OK("编辑成功!");
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 分页列表查询
|
|
|
+ *
|
|
|
+ * @param busMeetingRoomSchedule
|
|
|
+ * @param pageNo
|
|
|
+ * @param pageSize
|
|
|
+ * @param req
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ //@AutoLog(value = "bus_market_coupons_cash_info-分页列表查询")
|
|
|
+ @ApiOperation(value="bus_market_coupons_cash_info-分页列表查询", notes="bus_market_coupons_cash_info-分页列表查询")
|
|
|
+ @GetMapping(value = "/list")
|
|
|
+ public Result<IPage<BusMeetingRoomSchedule>> queryPageList(BusMeetingRoomSchedule busMeetingRoomSchedule,
|
|
|
+ @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
|
|
+ @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
|
|
+ HttpServletRequest req) {
|
|
|
+ QueryWrapper<BusMeetingRoomSchedule> queryWrapper = QueryGenerator.initQueryWrapper(busMeetingRoomSchedule, req.getParameterMap());
|
|
|
+ Page<BusMeetingRoomSchedule> page = new Page<BusMeetingRoomSchedule>(pageNo, pageSize);
|
|
|
+ IPage<BusMeetingRoomSchedule> pageList = roomScheduleService.page(page, queryWrapper);
|
|
|
+ pageList.getRecords().forEach(item -> {
|
|
|
+ LambdaQueryWrapper<BusMeetingRoomScheduleOrderDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(BusMeetingRoomScheduleOrderDetail::getMeetingRoomScheduleId, item.getId());
|
|
|
+ List<BusMeetingRoomScheduleOrderDetail> meetingRoomScheduleOrderDetailList = busMeetingRoomScheduleOrderDetailService.list(lambdaQueryWrapper);
|
|
|
+ if (ObjectUtils.isNotEmpty(meetingRoomScheduleOrderDetailList)) {
|
|
|
+ item.setOrderDetailList(meetingRoomScheduleOrderDetailList);
|
|
|
+ meetingRoomScheduleOrderDetailList.forEach(v -> {
|
|
|
+ BusRoomPayType busRoomPayType = busRoomPayTypeService.getById(v.getPayWay());
|
|
|
+ if (busRoomPayType != null) {
|
|
|
+ v.setPayWayName(busRoomPayType.getName());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<BusMeetingRoomScheduleDetail> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper2.eq(BusMeetingRoomScheduleDetail::getMeetingRoomScheduleId, item.getId());
|
|
|
+ lambdaQueryWrapper2.eq(BusMeetingRoomScheduleDetail::getStatus, 0);
|
|
|
+ Long count = busMeetingRoomScheduleDetailService.count(lambdaQueryWrapper2);
|
|
|
+ item.setConfirmStatus(count > 0 ? 0 : 1);
|
|
|
+ });
|
|
|
+ return Result.OK(pageList);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 结账
|
|
|
+ *
|
|
|
+ * @param busMeetingRoomSchedule
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "bus_meeting_room-编辑")
|
|
|
+ @ApiOperation(value="bus_meeting_room-编辑", notes="bus_meeting_room-编辑")
|
|
|
+ //@RequiresPermissions("business:bus_meeting_room:edit")
|
|
|
+ @PostMapping(value = "/settle")
|
|
|
+ public Result<String> settle(@RequestBody BusMeetingRoomSchedule busMeetingRoomSchedule) {
|
|
|
+ return roomScheduleService.settle(busMeetingRoomSchedule);
|
|
|
+ }
|
|
|
}
|
|
|
|