|
@@ -20,16 +20,13 @@ import org.jeecg.common.system.query.QueryGenerator;
|
|
|
import org.jeecg.common.util.TokenUtils;
|
|
import org.jeecg.common.util.TokenUtils;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.pos.entity.*;
|
|
import org.jeecg.modules.pos.entity.*;
|
|
|
-import org.jeecg.modules.pos.service.IPosOrderGoodsDetailService;
|
|
|
|
|
-import org.jeecg.modules.pos.service.IPosOrderGoodsPaymentService;
|
|
|
|
|
-import org.jeecg.modules.pos.service.IPosOrderGoodsService;
|
|
|
|
|
|
|
+import org.jeecg.modules.pos.service.*;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
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.pos.service.IPosTypeService;
|
|
|
|
|
import org.jeecg.modules.rooms.entity.CesGoods;
|
|
import org.jeecg.modules.rooms.entity.CesGoods;
|
|
|
import org.jeecg.modules.rooms.service.CesGoodsServiceImpl;
|
|
import org.jeecg.modules.rooms.service.CesGoodsServiceImpl;
|
|
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|
@@ -70,6 +67,8 @@ private CesGoodsServiceImpl cesGoodsService;
|
|
|
private IPosTypeService posTypeService;
|
|
private IPosTypeService posTypeService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IPosOrderGoodsPaymentService posOrderGoodsPaymentService;
|
|
private IPosOrderGoodsPaymentService posOrderGoodsPaymentService;
|
|
|
|
|
+@Autowired
|
|
|
|
|
+private IPosTableService posTableService;
|
|
|
/**
|
|
/**
|
|
|
* 分页列表查询
|
|
* 分页列表查询
|
|
|
*
|
|
*
|
|
@@ -122,43 +121,49 @@ private IPosOrderGoodsPaymentService posOrderGoodsPaymentService;
|
|
|
@ApiOperation(value="pos_order_goods-添加", notes="pos_order_goods-添加")
|
|
@ApiOperation(value="pos_order_goods-添加", notes="pos_order_goods-添加")
|
|
|
//@RequiresPermissions("pos:pos_order_goods:add")
|
|
//@RequiresPermissions("pos:pos_order_goods:add")
|
|
|
@PostMapping(value = "/add")
|
|
@PostMapping(value = "/add")
|
|
|
- public Result<String> add(@RequestBody PosOrderGoods posOrderGoods) {
|
|
|
|
|
|
|
+ public Result<PosOrderGoods> add(@RequestBody PosOrderGoods posOrderGoods) {
|
|
|
if (ObjectUtils.isEmpty(posOrderGoods.getPosOrderGoodsDetailList())) {
|
|
if (ObjectUtils.isEmpty(posOrderGoods.getPosOrderGoodsDetailList())) {
|
|
|
return Result.error("请先选择商品");
|
|
return Result.error("请先选择商品");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(ObjectUtils.isEmpty(posOrderGoods.getId())) {
|
|
|
|
|
- LocalDateTime localDateTime = LocalDateTime.now().withNano(0).withSecond(0).withMinute(0).withHour(0);
|
|
|
|
|
- LocalDateTime[] arr = new LocalDateTime[]{localDateTime, localDateTime.withHour(23).withMinute(59)};
|
|
|
|
|
- LambdaQueryWrapper<PosOrderGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
- lambdaQueryWrapper.eq(PosOrderGoods::getHotelId, posOrderGoods.getHotelId());
|
|
|
|
|
- lambdaQueryWrapper.ge(PosOrderGoods::getCreateTime, arr[0]);
|
|
|
|
|
- lambdaQueryWrapper.le(PosOrderGoods::getCreateTime, arr[1]);
|
|
|
|
|
- lambdaQueryWrapper.isNull(PosOrderGoods::getPosTableId);
|
|
|
|
|
- Page<PosOrderGoods> page = new Page<PosOrderGoods>(1, 1);
|
|
|
|
|
- lambdaQueryWrapper.orderByDesc(PosOrderGoods::getCreateTime);
|
|
|
|
|
- IPage<PosOrderGoods> pageList = posOrderGoodsService.page(page, lambdaQueryWrapper);
|
|
|
|
|
- if (ObjectUtils.isNotEmpty(pageList.getRecords())) {
|
|
|
|
|
- String no = pageList.getRecords().get(0).getTableNo();
|
|
|
|
|
- try {
|
|
|
|
|
- Integer newNo = Integer.parseInt(no) + 1;
|
|
|
|
|
- posOrderGoods.setTableNo(String.format("%03d", newNo));
|
|
|
|
|
- } catch (NumberFormatException ex) {
|
|
|
|
|
|
|
+ if (ObjectUtils.isEmpty(posOrderGoods.getId())) {
|
|
|
|
|
+ if (ObjectUtils.isEmpty(posOrderGoods.getPosTableId())) {
|
|
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.now().withNano(0).withSecond(0).withMinute(0).withHour(0);
|
|
|
|
|
+ LocalDateTime[] arr = new LocalDateTime[]{localDateTime, localDateTime.withHour(23).withMinute(59)};
|
|
|
|
|
+ LambdaQueryWrapper<PosOrderGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ lambdaQueryWrapper.eq(PosOrderGoods::getHotelId, posOrderGoods.getHotelId());
|
|
|
|
|
+ lambdaQueryWrapper.ge(PosOrderGoods::getCreateTime, arr[0]);
|
|
|
|
|
+ lambdaQueryWrapper.le(PosOrderGoods::getCreateTime, arr[1]);
|
|
|
|
|
+ lambdaQueryWrapper.isNull(PosOrderGoods::getPosTableId);
|
|
|
|
|
+ Page<PosOrderGoods> page = new Page<PosOrderGoods>(1, 1);
|
|
|
|
|
+ lambdaQueryWrapper.orderByDesc(PosOrderGoods::getCreateTime);
|
|
|
|
|
+ IPage<PosOrderGoods> pageList = posOrderGoodsService.page(page, lambdaQueryWrapper);
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(pageList.getRecords())) {
|
|
|
|
|
+ String no = pageList.getRecords().get(0).getTableNo();
|
|
|
|
|
+ try {
|
|
|
|
|
+ Integer newNo = Integer.parseInt(no) + 1;
|
|
|
|
|
+ posOrderGoods.setTableNo(String.format("%03d", newNo));
|
|
|
|
|
+ } catch (NumberFormatException ex) {
|
|
|
|
|
+ posOrderGoods.setTableNo("001");
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
posOrderGoods.setTableNo("001");
|
|
posOrderGoods.setTableNo("001");
|
|
|
}
|
|
}
|
|
|
- } else {
|
|
|
|
|
- posOrderGoods.setTableNo("001");
|
|
|
|
|
}
|
|
}
|
|
|
posOrderGoods.setCode(randomNumber("P"));
|
|
posOrderGoods.setCode(randomNumber("P"));
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
List<PosOrderGoodsDetail> list = posOrderGoods.getPosOrderGoodsDetailList();
|
|
List<PosOrderGoodsDetail> list = posOrderGoods.getPosOrderGoodsDetailList();
|
|
|
- String toRoomFeeOrderId=posOrderGoods.getToRoomFeeOrderId();
|
|
|
|
|
|
|
+ String toRoomFeeOrderId = posOrderGoods.getToRoomFeeOrderId();
|
|
|
|
|
+ String tableId=posOrderGoods.getPosTableId();
|
|
|
|
|
+ String tableNo=posOrderGoods.getTableNo();
|
|
|
posOrderGoods = posOrderGoodsService.getById(posOrderGoods.getId());
|
|
posOrderGoods = posOrderGoodsService.getById(posOrderGoods.getId());
|
|
|
posOrderGoods.setPosOrderGoodsDetailList(list);
|
|
posOrderGoods.setPosOrderGoodsDetailList(list);
|
|
|
posOrderGoods.setToRoomFeeOrderId(toRoomFeeOrderId);
|
|
posOrderGoods.setToRoomFeeOrderId(toRoomFeeOrderId);
|
|
|
|
|
+ posOrderGoods.setPosTableId(tableId);
|
|
|
|
|
+ posOrderGoods.setTableNo(tableNo);
|
|
|
}
|
|
}
|
|
|
- if(ObjectUtils.isNotEmpty(posOrderGoods.getToRoomFeeOrderId())){
|
|
|
|
|
- posOrderGoods.setStatus(1);
|
|
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(posOrderGoods.getToRoomFeeOrderId())) {
|
|
|
|
|
+ posOrderGoods.setStatus(1);
|
|
|
}
|
|
}
|
|
|
posOrderGoods.setTenantId(TokenUtils.currentTenantId());
|
|
posOrderGoods.setTenantId(TokenUtils.currentTenantId());
|
|
|
BigDecimal amount = BigDecimal.ZERO;
|
|
BigDecimal amount = BigDecimal.ZERO;
|
|
@@ -176,8 +181,8 @@ private IPosOrderGoodsPaymentService posOrderGoodsPaymentService;
|
|
|
posOrderGoods.setCreateTime(new Date());
|
|
posOrderGoods.setCreateTime(new Date());
|
|
|
Boolean res = posOrderGoodsService.saveOrUpdate(posOrderGoods);
|
|
Boolean res = posOrderGoodsService.saveOrUpdate(posOrderGoods);
|
|
|
if (res) {
|
|
if (res) {
|
|
|
- LambdaQueryWrapper<PosOrderGoodsDetail> lambdaQueryWrapper =new LambdaQueryWrapper<>();
|
|
|
|
|
- lambdaQueryWrapper.eq(PosOrderGoodsDetail::getOrderId,posOrderGoods.getCode());
|
|
|
|
|
|
|
+ LambdaQueryWrapper<PosOrderGoodsDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ lambdaQueryWrapper.eq(PosOrderGoodsDetail::getOrderId, posOrderGoods.getCode());
|
|
|
posOrderGoodsDetailService.remove(lambdaQueryWrapper);
|
|
posOrderGoodsDetailService.remove(lambdaQueryWrapper);
|
|
|
res = posOrderGoodsDetailService.saveBatch(posOrderGoods.getPosOrderGoodsDetailList());
|
|
res = posOrderGoodsDetailService.saveBatch(posOrderGoods.getPosOrderGoodsDetailList());
|
|
|
if (res) {
|
|
if (res) {
|
|
@@ -194,8 +199,12 @@ private IPosOrderGoodsPaymentService posOrderGoodsPaymentService;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ LambdaUpdateWrapper<PosTable> lambdaUpdateWrapper=new LambdaUpdateWrapper<>();
|
|
|
|
|
+ lambdaUpdateWrapper.eq(PosTable::getId,posOrderGoods.getPosTableId());
|
|
|
|
|
+ lambdaUpdateWrapper.set(PosTable::getState,2);
|
|
|
|
|
+ posTableService.update(lambdaUpdateWrapper);
|
|
|
}
|
|
}
|
|
|
- return Result.OK("添加成功", posOrderGoods.getCode());
|
|
|
|
|
|
|
+ return Result.OK("添加成功", posOrderGoods);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|