Browse Source

pos点餐关联套餐

gqx 2 years ago
parent
commit
d75c91f370

+ 11 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/pos/controller/PosOrderGoodsDetailController.java

@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -16,6 +17,7 @@ import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.pos.entity.PosOrderGoodsDetail;
 import org.jeecg.modules.pos.entity.PosSellClearGoods;
+import org.jeecg.modules.pos.entity.PosThali;
 import org.jeecg.modules.pos.service.IPosOrderGoodsDetailService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -23,6 +25,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.pos.service.IPosThaliService;
 import org.jeecg.modules.rooms.entity.CesGoods;
 import org.jeecg.modules.rooms.service.CesGoodsServiceImpl;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -57,6 +60,8 @@ public class PosOrderGoodsDetailController extends JeecgController<PosOrderGoods
 	private IPosOrderGoodsDetailService posOrderGoodsDetailService;
 @Autowired
 private CesGoodsServiceImpl cesGoodsService;
+@Resource
+private IPosThaliService posThaliService;
 	/**
 	 * 分页列表查询
 	 *
@@ -78,8 +83,13 @@ private CesGoodsServiceImpl cesGoodsService;
 		IPage<PosOrderGoodsDetail> pageList = posOrderGoodsDetailService.page(page, queryWrapper);
 		pageList.getRecords().forEach(item -> {
 			CesGoods cesGoods = cesGoodsService.getById(item.getGoodsId());
-			if(cesGoods!=null){
+			if (cesGoods != null) {
 				item.setGoodsName(cesGoods.getName());
+			} else {
+				PosThali posThali = posThaliService.getById(item.getGoodsId());
+				if (posThali != null) {
+					item.setGoodsName(posThali.getName());
+				}
 			}
 		});
 		return Result.OK(pageList);

+ 65 - 12
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/pos/controller/PosSellClearGoodsController.java

@@ -8,6 +8,7 @@ import java.util.stream.Collectors;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -27,6 +28,7 @@ import org.jeecg.common.util.TokenUtils;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.business.entity.BusMemberCard;
 import org.jeecg.modules.pos.entity.PosSellClearGoods;
+import org.jeecg.modules.pos.entity.PosThali;
 import org.jeecg.modules.pos.entity.PosType;
 import org.jeecg.modules.pos.service.IPosSellClearGoodsService;
 
@@ -35,6 +37,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.pos.service.IPosThaliService;
+import org.jeecg.modules.pos.service.impl.PosThaliServiceImpl;
 import org.jeecg.modules.rooms.entity.CesGoods;
 import org.jeecg.modules.rooms.entity.CesStockType;
 import org.jeecg.modules.rooms.service.CesGoodsServiceImpl;
@@ -73,6 +77,8 @@ public class PosSellClearGoodsController extends JeecgController<PosSellClearGoo
 	private CesGoodsServiceImpl cesGoodsService;
 	@Autowired
 	private CesStockTypeServiceImpl cesStockTypeService;
+	@Resource
+	private IPosThaliService posThaliService;
 
 	 /**
 	  * 商品沽清列表
@@ -125,6 +131,45 @@ public class PosSellClearGoodsController extends JeecgController<PosSellClearGoo
 		 return Result.OK(pageList);
 	 }
 
+	 /**
+	  * 套餐列表
+	  * @param posThali
+	  * @param pageNo
+	  * @param pageSize
+	  * @param goodTypes
+	  * @param req
+	  * @return
+	  */
+	 @GetMapping(value = "/thali-list")
+	 public Result<IPage<PosThali>> queryPageThaliList(PosThali posThali,
+												  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+												  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+												  @RequestParam(name="goodTypes[]",required = false) List<String> goodTypes,
+												  HttpServletRequest req) {
+		 LambdaQueryWrapper<PosThali> queryWrapper = QueryGenerator.initQueryWrapper(posThali, req.getParameterMap()).lambda();
+		 queryWrapper.eq(PosThali::getState, true);
+		 if (ObjectUtils.isNotEmpty(goodTypes)) {
+			 List<CesStockType> list = cesStockTypeService.list(Wrappers.<CesStockType>lambdaQuery()
+					 .eq(CesStockType::getHotelId, posThali.getHotelId())
+					 .eq(CesStockType::getInvalid, false));
+			 queryWrapper.and(j -> {
+				 for (int k = 0; k < goodTypes.size(); k++) {
+					 String id = goodTypes.get(k);
+					 List<CesStockType> stockTypeList = list.stream().filter(t -> t.getParentId().equals(id)).collect(Collectors.toList());
+					 if (ObjectUtils.isNotEmpty(stockTypeList)) {
+						 for (int z = 0; z < stockTypeList.size(); z++) {
+							 j = j.or().eq(PosThali::getThailType, stockTypeList.get(z).getId());
+						 }
+					 }
+					 j = j.or().eq(PosThali::getThailType, id);
+				 }
+			 });
+		 }
+		 Page<PosThali> page = new Page<PosThali>(pageNo, pageSize);
+		 IPage<PosThali> pageList = posThaliService.page(page, queryWrapper);
+		 return Result.OK(pageList);
+	 }
+
 	/**
 	 *   添加
 	 *
@@ -135,16 +180,22 @@ public class PosSellClearGoodsController extends JeecgController<PosSellClearGoo
 	@ApiOperation(value="pos_sell_clear_goods-添加", notes="pos_sell_clear_goods-添加")
 	//@RequiresPermissions("pos:pos_sell_clear_goods:add")
 	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody PosSellClearGoods posSellClearGoods) {
-		if (posSellClearGoods.getTenantId() == null || posSellClearGoods.getTenantId().equals("")) {
-			LoginUser user = TokenUtils.getAuthUser();
-			if (user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")) {
-				posSellClearGoods.setTenantId(user.getRelTenantIds());
-			} else {
-				throw new JeecgBootException("当前登录人租户信息错误");
+	public Result<String> add(@RequestBody List<PosSellClearGoods> posSellClearGoods) {
+		posSellClearGoods.forEach(t -> {
+			if (t.getTenantId() == null || t.getTenantId().equals("")) {
+				LoginUser user = TokenUtils.getAuthUser();
+				if (user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")) {
+					t.setTenantId(user.getRelTenantIds());
+				} else {
+					throw new JeecgBootException("当前登录人租户信息错误");
+				}
 			}
-		}
-		posSellClearGoodsService.save(posSellClearGoods);
+			LambdaQueryWrapper<PosSellClearGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(PosSellClearGoods::getGoodsId, t.getGoodsId());
+			posSellClearGoodsService.remove(lambdaQueryWrapper);
+			posSellClearGoodsService.save(t);
+
+		});
 		return Result.OK("添加成功!");
 	}
 
@@ -173,9 +224,11 @@ public class PosSellClearGoodsController extends JeecgController<PosSellClearGoo
 	 //@RequiresPermissions("pos:pos_sell_clear_goods:delete")
 	 @DeleteMapping(value = "/delete")
 	 public Result<String> delete(@RequestParam(name="goodsId",required=true) String goodsId) {
-		 LambdaQueryWrapper<PosSellClearGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		 lambdaQueryWrapper.eq(PosSellClearGoods::getGoodsId, goodsId);
-		 posSellClearGoodsService.remove(lambdaQueryWrapper);
+		 Arrays.asList(goodsId.split(",")).forEach(t -> {
+			 LambdaQueryWrapper<PosSellClearGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			 lambdaQueryWrapper.eq(PosSellClearGoods::getGoodsId, t);
+			 posSellClearGoodsService.remove(lambdaQueryWrapper);
+		 });
 		 return Result.OK("删除成功!");
 	 }