diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/controller/MenuRecipeController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/controller/MenuRecipeController.java index f105fff..cc140b3 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/controller/MenuRecipeController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/controller/MenuRecipeController.java @@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bonus.canteen.core.common.utils.RedisUtil; import com.bonus.canteen.core.common.utils.TenantContextHolder; import com.bonus.canteen.core.menu.dto.*; @@ -199,5 +200,23 @@ public class MenuRecipeController extends BaseController { return AjaxResult.success(); } +// @PostMapping({"/page"}) +// @ApiOperation("菜谱计划发布记录分页列表") +// public Page getMenuRecipeV2Page(@RequestBody MenuRecipeV2PageDTO dto) { +// return this.menuRecipeService.getMenuRecipeV2Page(dto); +// } +// +// @PostMapping({"/template/detail"}) +// @ApiOperation("获取指定菜谱模版详情") +// public List queryRecipeTemplateDate(@RequestBody QueryRecipeTemplateDateDTO dto) { +// return this.menuRecipeService.queryRecipeTemplateDate(dto); +// } +// +// +// @PostMapping({"/date/detail"}) +// @ApiOperation("获取指定日期菜谱计划菜品详情") +// public List getMenuRecipeDateDetail(@RequestBody MenuRecipeDetailDateDTO dto) { +// return this.menuRecipeService.getMenuRecipeDateDetail(dto); +// } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/domain/MenuAppRecipe.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/domain/MenuAppRecipe.java index 440bf8f..56fa98f 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/domain/MenuAppRecipe.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/domain/MenuAppRecipe.java @@ -2,6 +2,7 @@ package com.bonus.canteen.core.menu.domain; import java.time.LocalDateTime; import java.util.Date; +import java.util.List; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -27,6 +28,7 @@ public class MenuAppRecipe extends Model { private static final long serialVersionUID = 1L; private Long recipeId; private Integer bindType; + private List recipeIds; /** 绑定时间 */ @ApiModelProperty(value = "绑定时间") diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuDishesServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuDishesServiceImpl.java index c685ba3..487947f 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuDishesServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuDishesServiceImpl.java @@ -270,17 +270,20 @@ public class MenuDishesServiceImpl extends ServiceImpl0){ - System.err.println("总和:"+nutritionEntity.getCalcium()); - //计算营养成分 - nutritionEntity = countNum(nutritionEntity,menuDishesDTO.getWeight()); - System.err.println("计算后:"+nutritionEntity.getCalcium()); - return menuDishesMapper.addFinalNutrition(nutritionEntity,dishesId); + if(materialList != null && materialList.size() > 0){ + //添加菜品和材料关系表 + menuDishesMapper.addMenuMaterialDishes(dishesId,materialList); + NutritionEntityUtil nutritionEntityUtil = new NutritionEntityUtil(); + NutritionEntity nutritionEntity = nutritionEntityUtil.countNutrition(nutritionEntityList); + if(nutritionEntityList !=null && nutritionEntityList.size() >0){ + System.err.println("总和:"+nutritionEntity.getCalcium()); + //计算营养成分 + nutritionEntity = countNum(nutritionEntity,menuDishesDTO.getWeight()); + System.err.println("计算后:"+nutritionEntity.getCalcium()); + return menuDishesMapper.addFinalNutrition(nutritionEntity,dishesId); + } } + return 1; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuRecipeServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuRecipeServiceImpl.java index a9c9414..8f438c7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuRecipeServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuRecipeServiceImpl.java @@ -24,6 +24,8 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; import com.alibaba.excel.read.metadata.ReadSheet; import com.alibaba.fastjson2.JSONObject; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bonus.canteen.core.alloc.domain.AllocArea; import com.bonus.canteen.core.alloc.domain.AllocCanteen; @@ -45,6 +47,7 @@ import com.bonus.canteen.core.menu.enums.*; import com.bonus.canteen.core.menu.enums.MenuRecipeSortEnum; import com.bonus.canteen.core.menu.mapper.*; import com.bonus.canteen.core.menu.model.*; +import com.bonus.canteen.core.menu.service.IMenuRecipeDetailService; import com.bonus.canteen.core.menu.service.IMenuRecipeService; import com.bonus.canteen.core.menu.service.MenuDishesBaseService; import com.bonus.canteen.core.menu.service.MenuDishesSizeService; @@ -65,6 +68,7 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.houqin.constant.DelFlagEnum; import com.bonus.common.houqin.i18n.I18n; import com.bonus.common.houqin.mq.constant.LeMqConstant; +import com.bonus.common.houqin.utils.LeBeanUtil; import com.bonus.common.houqin.utils.id.Id; import com.bonus.common.security.utils.SecurityUtils; import com.google.common.collect.Lists; @@ -152,6 +156,7 @@ public class MenuRecipeServiceImpl extends ServiceImpl recipeIds; @@ -161,6 +166,7 @@ public class MenuRecipeServiceImpl extends ServiceImpl stallAndRecipeBindDtos = this.menuRecipeMapper.selectRecipeByStallIdsAndBindType(menuRecipeDateVOS, content.getBindType()); maping = stallAndRecipeBindDtos.stream().collect(Collectors.toMap(StallAndRecipeBindDto::getStallId, StallAndRecipeBindDto::getRecipeId)); recipeIds = stallAndRecipeBindDtos.stream().map(StallAndRecipeBindDto::getRecipeId).distinct().collect(Collectors.toList()); + this.generateRecipe(recipeIds, content.getApplyDate()); List menuRecipeDateVOS1 = this.menuRecipeMapper.selectTmpBetweenDateDetailList(recipeIds, content.getApplyDate(), content.getApplyDate()); Map recipeMap = (recipeIds == null || recipeIds.isEmpty()) @@ -172,7 +178,7 @@ public class MenuRecipeServiceImpl extends ServiceImpl detailMap = menuRecipeDateVOS1.stream().collect(Collectors.toMap(MenuRecipeDateVO::getRecipeId, Function.identity(), (t1, t2) -> { return t1; })); - + System.err.println("records = " + records.size()); AllocRecipeStallVO item; long count; for(Iterator var12 = records.iterator(); var12.hasNext(); item.setDishesCount(count)) { @@ -226,7 +232,7 @@ public class MenuRecipeServiceImpl extends ServiceImpl sourceRecipeList = this.menuRecipeMapper.selectRecipeInSameShop(menuRecipe.getStallId(), null, content.getBindType(), content.getMealLineId()); if (ObjectUtil.isNotEmpty(sourceRecipeList)) { + mar.setRecipeIds(sourceRecipeList); this.menuRecipeMapper.delete(mar); } @@ -249,6 +256,7 @@ public class MenuRecipeServiceImpl extends ServiceImpl recipeIdList, LocalDate applyDate) { if (!ObjectUtil.isEmpty(recipeIdList) && !ObjectUtil.isEmpty(applyDate)) { recipeIdList = new ArrayList<>(recipeIdList); - Map recipeDetailContMap = this.menuRecipeMapper.selectMenuRecipeDetailList(new QueryWrapper() - .eq("apply_date", applyDate) - .in("recipe_id", recipeIdList)) - .stream().collect(Collectors.groupingBy(MenuRecipeDetail::getRecipeId, Collectors.counting())); +// Map recipeDetailContMap = this.menuRecipeMapper.selectMenuRecipeDetailList(new QueryWrapper() +// .eq("apply_date", applyDate) +// .in("recipe_id", recipeIdList)) +// .stream().collect(Collectors.groupingBy(MenuRecipeDetail::getRecipeId, Collectors.counting())); + Map recipeDetailContMap = (Map) menuRecipeDetailService.list((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery(MenuRecipeDetail.class).select(MenuRecipeDetail::getRecipeId).eq(MenuRecipeDetail::getApplyDate, applyDate)).in(MenuRecipeDetail::getRecipeId, recipeIdList)).stream().collect(Collectors.groupingBy(MenuRecipeDetail::getRecipeId, Collectors.counting())); recipeIdList.removeAll(recipeDetailContMap.keySet()); if (!ObjectUtil.isEmpty(recipeIdList)) { List menuRecipes = this.list(Wrappers.lambdaQuery(MenuRecipe.class).in(MenuRecipe::getRecipeType, new Object[]{2, 3}) diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuDishesMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuDishesMapper.xml index 9b994a0..df7b42d 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuDishesMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuDishesMapper.xml @@ -105,6 +105,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and b.shopstall_id = #{shopstallId} and b.area_id = #{areaId} and b.type_id = #{typeId} + + and b.dishes_name like concat('%',#{dishesName},'%') and b.type_id in diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuRecipeMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuRecipeMapper.xml index ef66b11..3a3853c 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuRecipeMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuRecipeMapper.xml @@ -23,6 +23,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, recipe_id, plan_id, recipe_name, is_default, recipe_type, effect_date, expire_date, canteen_id, stall_id, enable_flag, revision, create_by, create_time, update_by, update_time, remark from menu_recipe @@ -1004,7 +1036,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from menu_app_recipe where recipe_id = #{recipeId} + delete from menu_app_recipe where recipe_id in + + #{recipeId} + and meal_line_id = #{mealLineId} @@ -1136,26 +1171,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select mrd.mealtime_type, mrd.recipe_id,