|
@@ -1,9 +1,13 @@
|
|
|
package org.jeecg.modules.fw.controller;
|
|
package org.jeecg.modules.fw.controller;
|
|
|
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.fasterxml.jackson.annotation.JsonFormat;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
@@ -12,8 +16,7 @@ import org.jeecg.modules.business.entity.*;
|
|
|
import org.jeecg.modules.business.service.IBusWaiterService;
|
|
import org.jeecg.modules.business.service.IBusWaiterService;
|
|
|
import org.jeecg.modules.fw.dto.RoomCleanDto;
|
|
import org.jeecg.modules.fw.dto.RoomCleanDto;
|
|
|
import org.jeecg.modules.fw.dto.RoomLockDto;
|
|
import org.jeecg.modules.fw.dto.RoomLockDto;
|
|
|
-import org.jeecg.modules.fw.entity.FwRoomClean;
|
|
|
|
|
-import org.jeecg.modules.fw.entity.FwRoomLock;
|
|
|
|
|
|
|
+import org.jeecg.modules.fw.entity.*;
|
|
|
import org.jeecg.modules.fw.service.IFwRoomCleanService;
|
|
import org.jeecg.modules.fw.service.IFwRoomCleanService;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
@@ -21,11 +24,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
|
|
|
|
+import org.jeecg.modules.fw.service.IFwRoomCleanUseConsumableService;
|
|
|
|
|
+import org.jeecg.modules.fw.service.IFwRoomConsumableService;
|
|
|
|
|
+import org.jeecg.modules.pos.entity.PosOrderGoodsPayment;
|
|
|
import org.jeecg.modules.rooms.Enum.RoomStatusEnum;
|
|
import org.jeecg.modules.rooms.Enum.RoomStatusEnum;
|
|
|
|
|
+import org.jeecg.modules.rooms.entity.CesRoomLayout;
|
|
|
import org.jeecg.modules.rooms.entity.CesRooms;
|
|
import org.jeecg.modules.rooms.entity.CesRooms;
|
|
|
|
|
+import org.jeecg.modules.rooms.service.CesRoomLayoutServiceImpl;
|
|
|
import org.jeecg.modules.rooms.service.CesRoomsServiceImpl;
|
|
import org.jeecg.modules.rooms.service.CesRoomsServiceImpl;
|
|
|
import org.jeecg.common.system.base.controller.JeecgController;
|
|
import org.jeecg.common.system.base.controller.JeecgController;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
+import org.springframework.format.annotation.DateTimeFormat;
|
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
import org.springframework.web.servlet.ModelAndView;
|
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
@@ -49,6 +59,12 @@ public class FwRoomCleanController extends JeecgController<FwRoomClean, IFwRoomC
|
|
|
private CesRoomsServiceImpl cesRoomsService;
|
|
private CesRoomsServiceImpl cesRoomsService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IBusWaiterService busWaiterService;
|
|
private IBusWaiterService busWaiterService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private CesRoomLayoutServiceImpl cesRoomLayoutService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private IFwRoomCleanUseConsumableService fwRoomCleanUseConsumableService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private IFwRoomConsumableService fwRoomConsumableService;
|
|
|
/**
|
|
/**
|
|
|
* 分页列表查询
|
|
* 分页列表查询
|
|
|
*
|
|
*
|
|
@@ -68,16 +84,77 @@ public class FwRoomCleanController extends JeecgController<FwRoomClean, IFwRoomC
|
|
|
QueryWrapper<FwRoomClean> queryWrapper = QueryGenerator.initQueryWrapper(fwRoomClean, req.getParameterMap());
|
|
QueryWrapper<FwRoomClean> queryWrapper = QueryGenerator.initQueryWrapper(fwRoomClean, req.getParameterMap());
|
|
|
Page<FwRoomClean> page = new Page<FwRoomClean>(pageNo, pageSize);
|
|
Page<FwRoomClean> page = new Page<FwRoomClean>(pageNo, pageSize);
|
|
|
IPage<FwRoomClean> pageList = fwRoomCleanService.page(page, queryWrapper);
|
|
IPage<FwRoomClean> pageList = fwRoomCleanService.page(page, queryWrapper);
|
|
|
|
|
+
|
|
|
|
|
+ LambdaQueryWrapper<FwRoomConsumable> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ lambdaQueryWrapper.eq(FwRoomConsumable::getHotelId, fwRoomClean.getHotelId());
|
|
|
|
|
+ List<FwRoomConsumable> fwRoomConsumables = fwRoomConsumableService.list(lambdaQueryWrapper);
|
|
|
|
|
+
|
|
|
pageList.getRecords().forEach(item -> {
|
|
pageList.getRecords().forEach(item -> {
|
|
|
|
|
+ List<FwRoomCleanUseConsumable> list = new ArrayList<>();
|
|
|
BusWaiter waiter = busWaiterService.getById(item.getWaiterId());
|
|
BusWaiter waiter = busWaiterService.getById(item.getWaiterId());
|
|
|
if (waiter != null) {
|
|
if (waiter != null) {
|
|
|
item.setWaiterName(waiter.getName());
|
|
item.setWaiterName(waiter.getName());
|
|
|
}
|
|
}
|
|
|
|
|
+ CesRooms rooms = cesRoomsService.getById(item.getRoomId());
|
|
|
|
|
+ if (rooms != null) {
|
|
|
|
|
+ CesRoomLayout layout = cesRoomLayoutService.getById(rooms.getLayoutId());
|
|
|
|
|
+ if (layout != null) {
|
|
|
|
|
+ item.setLayoutName(layout.getName());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ LambdaQueryWrapper<FwRoomCleanUseConsumable> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
|
|
+ lambdaQueryWrapper2.eq(FwRoomCleanUseConsumable::getRoomCleanId, item.getId());
|
|
|
|
|
+ List<FwRoomCleanUseConsumable> useConsumableList = fwRoomCleanUseConsumableService.list(lambdaQueryWrapper2);
|
|
|
|
|
+ fwRoomConsumables.forEach(u -> {
|
|
|
|
|
+ FwRoomCleanUseConsumable fwRoomCleanUseConsumable = new FwRoomCleanUseConsumable();
|
|
|
|
|
+ fwRoomCleanUseConsumable.setRoomConsumableId(u.getId());
|
|
|
|
|
+ fwRoomCleanUseConsumable.setNum(0);
|
|
|
|
|
+ fwRoomCleanUseConsumable.setRoomConsumable(u);
|
|
|
|
|
+ Optional<FwRoomCleanUseConsumable> optional = useConsumableList.stream().filter(f -> f.getRoomConsumableId().equals(u.getId())).findFirst();
|
|
|
|
|
+ if (optional.isPresent()) {
|
|
|
|
|
+ fwRoomCleanUseConsumable.setNum(optional.get().getNum());
|
|
|
|
|
+ }
|
|
|
|
|
+ list.add(fwRoomCleanUseConsumable);
|
|
|
|
|
+ });
|
|
|
|
|
+ item.setUseConsumableList(list);
|
|
|
});
|
|
});
|
|
|
return Result.OK(pageList);
|
|
return Result.OK(pageList);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
|
+ * 房间消耗品汇总统计
|
|
|
|
|
+ * @param startTime 开始日期
|
|
|
|
|
+ * @param endTime 截至日期
|
|
|
|
|
+ * @param hotelId
|
|
|
|
|
+ * @param type 1易耗品 2布草
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @ApiOperation(value = "房间消耗品汇总统计", notes = "房间消耗品汇总统计")
|
|
|
|
|
+ @GetMapping(value = "/roomUseConsumableSummary")
|
|
|
|
|
+ public Result<List<HashMap<String, Object>>> roomUseConsumableSummary(@RequestParam(name = "startTime") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") DateTime startTime,
|
|
|
|
|
+ @RequestParam(name = "endTime") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") DateTime endTime,
|
|
|
|
|
+ @RequestParam(name = "hotelId") String hotelId,@RequestParam(name = "type") Integer type) {
|
|
|
|
|
+ List<HashMap<String, Object>> pageList = fwRoomCleanService.roomUseConsumableSummary(type, hotelId, startTime, endTime);
|
|
|
|
|
+ return Result.OK(pageList);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 放扫记录汇总统计
|
|
|
|
|
+ * @param startTime 开始日期
|
|
|
|
|
+ * @param endTime 截至日期
|
|
|
|
|
+ * @param hotelId
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @ApiOperation(value = "放扫记录汇总统计", notes = "放扫记录汇总统计")
|
|
|
|
|
+ @GetMapping(value = "/roomCleanSummary")
|
|
|
|
|
+ public Result<List<HashMap<String, Object>>> roomCleanSummary(@RequestParam(name = "startTime") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") DateTime startTime,
|
|
|
|
|
+ @RequestParam(name = "endTime") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") DateTime endTime,
|
|
|
|
|
+ @RequestParam(name = "hotelId") String hotelId) {
|
|
|
|
|
+ List<HashMap<String, Object>> pageList = fwRoomCleanService.roomCleanSummary( hotelId, startTime, endTime);
|
|
|
|
|
+ return Result.OK(pageList);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
* 添加
|
|
* 添加
|
|
|
*
|
|
*
|
|
|
* @param dto
|
|
* @param dto
|
|
@@ -133,7 +210,24 @@ public class FwRoomCleanController extends JeecgController<FwRoomClean, IFwRoomC
|
|
|
@ApiOperation(value="fw_room_clean-编辑", notes="fw_room_clean-编辑")
|
|
@ApiOperation(value="fw_room_clean-编辑", notes="fw_room_clean-编辑")
|
|
|
//@RequiresPermissions("fw:fw_room_clean:edit")
|
|
//@RequiresPermissions("fw:fw_room_clean:edit")
|
|
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Result<String> edit(@RequestBody FwRoomClean fwRoomClean) {
|
|
public Result<String> edit(@RequestBody FwRoomClean fwRoomClean) {
|
|
|
|
|
+ LambdaQueryWrapper<FwRoomCleanUseConsumable> lambdaQueryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
|
|
+ lambdaQueryWrapper2.eq(FwRoomCleanUseConsumable::getRoomCleanId, fwRoomClean.getId());
|
|
|
|
|
+ fwRoomCleanUseConsumableService.remove(lambdaQueryWrapper2);
|
|
|
|
|
+ List<FwRoomCleanUseConsumable> fwRoomCleanUseConsumables = new ArrayList<>();
|
|
|
|
|
+ fwRoomClean.getUseConsumableList().forEach(t -> {
|
|
|
|
|
+ if (t.getNum() > 0) {
|
|
|
|
|
+ FwRoomCleanUseConsumable fwRoomCleanUseConsumable = new FwRoomCleanUseConsumable();
|
|
|
|
|
+ fwRoomCleanUseConsumable.setHotelId(fwRoomClean.getHotelId());
|
|
|
|
|
+ fwRoomCleanUseConsumable.setTenantId(fwRoomClean.getTenantId());
|
|
|
|
|
+ fwRoomCleanUseConsumable.setRoomCleanId(fwRoomClean.getId());
|
|
|
|
|
+ fwRoomCleanUseConsumable.setRoomConsumableId(t.getRoomConsumableId());
|
|
|
|
|
+ fwRoomCleanUseConsumable.setNum(t.getNum());
|
|
|
|
|
+ fwRoomCleanUseConsumables.add(fwRoomCleanUseConsumable);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ fwRoomCleanUseConsumableService.saveBatch(fwRoomCleanUseConsumables);
|
|
|
fwRoomCleanService.updateById(fwRoomClean);
|
|
fwRoomCleanService.updateById(fwRoomClean);
|
|
|
return Result.OK("编辑成功!");
|
|
return Result.OK("编辑成功!");
|
|
|
}
|
|
}
|